listFiles带有或不带有过滤器的方法不能保证任何顺序。
但是,它确实返回一个数组,您可以使用对其进行排序
Arrays.sort()。
File[] files = XMLDirectory.listFiles(filter_xml_files);Arrays.sort(files);for(File _xml_file : files) { ...}这
File是可行的,因为是一个可比较的类,默认情况下按字典顺序对路径名进行排序。如果要对它们进行不同的排序,则可以定义自己的比较器。
如果您更喜欢使用流:
下面是一种更现代的方法。要按字母顺序打印给定目录中所有文件的名称,请执行以下操作:
Files.list(Paths.get(dirName)).sorted().forEach(System.out::println)
用
System.out::println您要对文件名进行的任何操作替换。如果只需要以结尾的文件名,
"xml"请执行以下操作:
Files.list(Paths.get(dirName)) .filter(s -> s.toString().endsWith(".xml")) .sorted() .forEach(System.out::println)再次,用所需的任何处理操作替换打印。



