Java.io.File.listFiles (фильтр FilenameFilter) уже сортирует объект файла? - PullRequest
0 голосов
/ 27 апреля 2018

Добрый день.

Мне было интересно, возвращает ли java.io.File.listFiles(FilenameFilter filter) уже отсортированный объект.

Вот мой код:

String[] files = FIUtil.getFilesList(FIConstants.getIFDirectory(filePrefix), 
FIConstants.VALID_INPUT_FILE_SUFFIX,filePrefix);

   log.debug("=== LOOKING FOR FILES IN ===" + FIConstants.getIFDirectory(filePrefix));
   log.debug("=== Inside directory ===");
   for(int i=0;i<files.length;i++){
       log.debug("=== "+files[i]); }

 public static String[] getFilesList(String directory, final String suffix,String prefix)
   {
      try {
         File fileObject = new File(directory);
         return fileObject.list((new FilenameFilter() {
            @Override
        public boolean accept(File dir, String name) {
                return name.startsWith(prefix) && name.endsWith(suffix);        
        }
    }));
  }
  catch (SecurityException se) {
  }
  return null;
} 

Мои файлы в каталоге не отсортированы .
Но когда я проверяю список файлов в моих журналах, они уже отсортированы .

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Как объяснено в File.listFiles() Javadoc нет гарантии заказа

Нет никакой гарантии, что строки имен в результирующем массиве будут отображаться в любом конкретном порядке; в частности, они не гарантированы в алфавитном порядке.

0 голосов
/ 27 апреля 2018

Нет, он не сортируется по имени, дате или чему-либо еще.

...