java.io.File.listFiles(FilenameFilter filter)是否已对文件对象进行排序?

时间:2018-04-27 08:15:44

标签: java list filter filenames

美好的一天。

我想知道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 :(得分:3)

File.listFiles() Javadoc中所述,没有保证订单

  

无法保证结果数组中的名称字符串将以任何特定顺序出现;特别是,它们不会保证按字母顺序出现。

答案 1 :(得分:2)

不,它不按名称,日期或任何方式排序。