首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扫描多个文件并按字母顺序打印

扫描多个文件并按字母顺序打印
EN

Stack Overflow用户
提问于 2017-07-04 08:14:11
回答 3查看 145关注 0票数 1

我正在使用Java读取多个文本文件并打印它们的目录,我想知道为什么输出没有按字母顺序排列?

代码片段(也是从互联网上得到的)

代码语言:javascript
复制
File dir = new File("/home/dilapitan/Desktop/xml-parsing/files/");
File[] listOfFiles = dir.listFiles();
for (File path : listOfFiles) {
    System.out.println(path);
}

输出:

代码语言:javascript
复制
dilapitan@NT071855:~/Desktop/xml-parsing$ java Multiple 
/home/dilapitan/Desktop/xml-parsing/files/c.txt
/home/dilapitan/Desktop/xml-parsing/files/b.txt
/home/dilapitan/Desktop/xml-parsing/files/a.txt
dilapitan@NT071855:~/Desktop/xml-parsing$ 

我可以这样做,输出是:

代码语言:javascript
复制
a.txt
b.txt
c.txt

提前谢谢你!

EN

回答 3

Stack Overflow用户

发布于 2017-07-04 08:21:05

引用's documentation

不能保证结果数组中的名称字符串将以任何特定的顺序出现;它们尤其不能保证按字母顺序显示。

如果你想按特定的顺序打印,你必须自己打印。Java 8流使您可以很好地组合从修补程序中提取文件名并在一个语句中对它们进行排序:

代码语言:javascript
复制
Arrays.stream(listOfFiles)
      .map(File::getName)
      .sorted()
      .forEach(System.out::println);
票数 0
EN

Stack Overflow用户

发布于 2017-07-04 08:33:28

只是另一种方式,但使用java8的力量

代码语言:javascript
复制
List<Path> x = Files.list(Paths.get("C:\\myPath\\Tools"))
            .filter(p -> Files.exists(p))
            .map(s -> s.getFileName())
            .sorted()
            .collect(Collectors.toList());

x.forEach(System.out::println);

甚至更好

代码语言:javascript
复制
List<Path> x = Files.list(Paths.get("C:\\Users\\myPath\\Tools"))
                .filter(Files::exists)
                .map(Path::getFileName)
                .sorted()
                .collect(Collectors.toList());

x.forEach(System.out::println);
票数 0
EN

Stack Overflow用户

发布于 2017-07-05 08:13:09

感谢那些回答的人。我想到了一个非常简单的解决方案:

代码语言:javascript
复制
File dir = new File("/home/dilapitan/Desktop/xml-parsing/files/");
File[] listOfFiles = dir.listFiles();
Arrays.sort(listOfFiles);

for (File path : listOfFiles) {
    System.out.println(path);
}

哈哈哈,我向大家道歉。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44900492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档