Problemas com listFiles();

Olá Galera,

Estou tendo um problema em ler os arquivos de um diretório.
Tenho um diretório que contêm arquivos nomeados de 1 a 50.
Exemplo:
1.txt
2.txt
3.txt
4.txt



O listFiles() organiza os arquivos de modo que ele lê o 1 depois o 10 até o 19 e depois ele lê o 2 e depois do 20 ao 29 e vai indo…

Eu gostaria que ele lêsse em sequencia do 1 ao 50.

Como faço isso??

Grato,

Semsar

Quem lista os arquivos desse jeito é o próprio sistema operacional (acho que você esteja usando o Windows XP ou posterior, e o filesystem NTFS), que ordena os arquivos por ordem lexicográfica.

Veja você mesmo: se você for usar listFiles em um pendrive, que costuma usar FAT-32 em vez de NTFS, os arquivos podem vir em qualquer ordem.

Para que fiquem em ordem numérica, você pode fazer uma de duas coisas:

  • Renomeie os arquivos para pôr zeros à esquerda dos números. Exemplo:

01.txt
02.txt

09.txt
10.txt

49.txt
50.txt

  • Liste tudo, e crie um método de ordenação que ordene os nomes dos arquivos por ordem alfabética.

Brigado…

Vou tentar fazer …

Falow