java.io.File.listFiles(FilenameFilter filter) 是否已经对文件对象进行了排序?
Does java.io.File.listFiles(FilenameFilter filter) already sort the file object?
美好的一天。
我在想 java.io.File.listFiles(FilenameFilter filter)
returns 是否是一个已经排序的对象。
这是我的代码:
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;
}
我目录中的文件未排序。
但是当我检查日志中的文件列表时,它们 已经排序 。
不,它不按姓名、日期或任何其他方式排序。
如File.listFiles()
Javadoc中所述,不保证订单
There is no guarantee that the name strings in the resulting array will appear in any specific order; they are not, in particular, guaranteed to appear in alphabetical order.
美好的一天。
我在想 java.io.File.listFiles(FilenameFilter filter)
returns 是否是一个已经排序的对象。
这是我的代码:
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;
}
我目录中的文件未排序。
但是当我检查日志中的文件列表时,它们 已经排序 。
不,它不按姓名、日期或任何其他方式排序。
如File.listFiles()
Javadoc中所述,不保证订单
There is no guarantee that the name strings in the resulting array will appear in any specific order; they are not, in particular, guaranteed to appear in alphabetical order.