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.
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.