Você está rodando esse programa no Windows, Linux, …?
Onde está esse arquivo (no HD da própria máquina, em um share de rede, …?)
Qual é o filesystem onde está esse tal arquivo (ext2, ext3, NTFS, FAT32 …)?
Estou achando estranho porque “//” não é nem Windows nem Linux; no Windows usa-se “\” (também pode usar “/”, mas não para um share de rede, onde você tem de usar algo como “\\servidor\share\diretorio\arquivo.txt”) e no Linux, “/”. Qual o sistema operacional?
T
thingol
E a propósito, diferentemente de um programa C, o Java sempre considera que você quer abrir os arquivos com as APIs que permitem abrir arquivos grandes. Programas C rodando em Linux ou Windows, por exemplo, podem ter problemas ao abrir um arquivo grande porque não usam as APIs adequadas para abrir arquivos grandes. Mas o Java sempre usa as APIs para abrir arquivos grandes.
A
alex72
Em tempo este arquivo está em um filesystem do UNIX rodando SunOS v5.10 Não sei que tipo de hardware é (64bits ou SPARC, RISC SEI LA…).
Independente, se o Java sempre utiliza as APIs corretas e ai? Pq não tem nenhuma exception ?
Em C geralmente eu utilizo a fopen64… E funciona.
Nesse meu processo linguagem C não cabe a ser utilizada…
[]s,
Alex.
A
alex72
Outra coisa, eu utilizo um arquivo .jar e executo como “java -jar pacote.jar”.
[]s,
Alex.
T
thingol
SunOS v5.10 é Solaris 10; Solaris é Unix, e a notação do Unix para arquivos é usar “/” para separar as partes, não “//”. Você está usando um filesystem montado via NFS ou então está rodando o programa no Solaris diretamente?
Eu sei que se você quer acessar um “share” no Solaris pode usar a notação “/net”, por exemplo “/net/122.44.55.66/usr/teste” ou coisa parecida. Não sabia que era possível usar uma “//”.
A
alex72
O sistema operaciona é o Solaris sim e rodo a aplicação diretamente na linha de comando para não perder tempo.
Entaum eu tbm não sabia, antes de utilizar “//” estava utilizando diretamente “/” daí dava pau,
Bom daí fiquei sabendo que o correto era “//”.
Veja bem esse aplicativo que estou trabalhando ja funcionava com “//” abrindo arquivos de menos 1Gb, tipo 700 a 800Mb!!!
Bom o negócio foi evoluindo e agora tenho arquivos de até 10Gb para abrir e trabalhar…
Vc comentou da notação “/net”, não querendo abusar vc tem alguma documentação disso que poderia me passar um link ou coisa parecida, acho que tenho que estudar mais esse tipo de acesso…
[]s,
Alex.
T
thingol
Hum… eu sei que tenho de achar na documentação do Solaris, mas a notação “/net” está mais ou menos explicada aqui:
T
thingol
Se o protocolo usado para acessar o tal share NFS for v2, então arquivos grandes não podem ser lidos adequadamente. Mas aí um programa em C usando fopen64 também teria problemas com esse arquivo grande.
Acho que o NFS usado pelo Solaris é v4, mas não tenho certeza.