Alguém conhece alguma forma de carregar arquivos de maneira ordenada?
Por exemplo, quando temos um diretório em nosso computador podemos ter N arquivos com uma ordenação padrão, como por exemplo, pelo nome dos arquivos!
Existe alguma forma de carregar estes arquivos já ordenados pelo nome?
Eu sei que após carregados eu consigo ordená-los da forma como eu preferir, porém gostaria de saber se existe alguma alternativa para que os arquivos já sejam carregados com o mesmo padrão de ordenação em que se encontram no diretório.
Não, não há nenhuma garantia quanto a ordem que os arquivos são retornados.
Jonathan_Medeiros
Imaginando o cenário onde eu tenha vários GB de arquivos em um determinado diretório, qual seria a melhor maneira para manipular os mesmos tendo a necessidade de ordenação por nome?
Tem alguma recomendação?
staroski1 like
Ao listar os arquivos, você não está abrindo nem manipulando eles, então o tamanho deles não vai influenciar na listagem.
Os sistemas de arquivos atuais costumam ter um limite de 4.294.967.295 arquivos por diretório.
Solucao aceita
Jonathan_Medeiros2 likes
Faz total sentido, eu já estava seguindo a abordagem correta!
Eu estava fazendo confusão na minha cabeça e achando que estaria manipulando todos os arquivos ao mesmo tempo, quando na verdade eu carrego somente a listagem dos paths a aplico a ordenação, e após isso divido a lista em pequenos lotes para aí sim manipular os arquivos.
Obrigado pelo apoio, pelo visto o que me faltava era alguém pra conversar à respeito!
staroski1 like
Exatamente.
Acredito que até se você tiver um diretório com 4.294.967.295 deve levar poucos segundos para ordenar em Java.
Você pode perceber lentidão ao ordenar no visualizador de arquivos do seu sistema operacional pois ele pode ler alguns metadados de cada arquivo para renderizar informações na interface de usuário.
Fefo801 like
Cuidado com os sistemas de ordenação automática. Verifique o resultado depois.
Tem uns que são sensíveis a maiúsculas e minúsculas, então a lista de arquivos aparece mais ou menos assim