美好的一天。
我想知道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;
}
目录中的文件未排序 但是,当我检查日志中的文件列表时,已经排序。
答案 0 :(得分:3)
如File.listFiles()
Javadoc中所述,没有保证订单
无法保证结果数组中的名称字符串将以任何特定顺序出现;特别是,它们不会保证按字母顺序出现。
答案 1 :(得分:2)
不,它不按名称,日期或任何方式排序。