File.listFiles  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
RenataFA
Virtual Machine Man
[Avatar]

Membro desde: 24/08/2006 08:15:10
Mensagens: 698
Offline

Olá pessoal!

Estou com um probleminha... vejam o trechinho do código:


Agora imaginem que dentro do tal diretório que eu indiquei, eu tenha MUITOS arquivos,,, sei lá,, aqui to testando com 1200.
Qdo executa o comando listFiles() ele dá OutOfMemory, estouro da memória Heap.

Queria saber se alguém tem alguma idéia de como resolver. Pra mim resolveria completamente se apenas eu pudesse "falar" pro listFiles() que eu quero os 100 primeiros arquivos, ai na próxima vez eu pego outros 100 e assim por diante. Mas não achei como fazer isso.

Ah, eu não sei o nome dos arquivos ok? Por isso não tem como eu montar um for e ir pegando um a um... alguma idéia?

Brigada,
Renata

[]'s, Renata
[Email]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Hum... o pessoal do Java já viu que isso é um problema. Infelizmente eles só vão ter uma correção para isso no Java 7:

java.nio.file.DirectoryStream

Por enquanto você vai ter de aumentar a memória disponível para rodar seu programa com a opção -Xmx, ou então listar os seus arquivos com algum comando do DOS ou do Unix, redirecionar a saída desse comando para um arquivo-texto, e ler o tal arquivo. Muito porco mas deve funcionar por enquanto.
[WWW]
Mero_Aprendiz
JavaEvangelist
[Avatar]

Membro desde: 25/08/2004 11:32:27
Mensagens: 380
Localização: Goiânia
Offline

RenataFA wrote:
Ah, eu não sei o nome dos arquivos ok? Por isso não tem como eu montar um for e ir pegando um a um... alguma idéia?


Olá Renata.
Bem, eu voto por trabalhar arquivo por arquivo, já que tem como pegar os nomes dos arquivos nos diretório:



Assim você por ir trabalhar arquivo por arquivo, já que carregar 1.200 e um tanto complicado dependo do servidor.
Também porco, mas enquanto o Java 7 não sai...

[]'s
JL

This message was edited 1 time. Last update was at 02/06/2009 12:29:40

RenataFA
Virtual Machine Man
[Avatar]

Membro desde: 24/08/2006 08:15:10
Mensagens: 698
Offline

Dá no msm Mero_Aprendiz,,, posso estourar o tamanho do array da msma forma!

thingol! Que tristeza,,, não tem jeito msm?

[]'s, Renata
[Email]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team