gpt4 book ai didi

java - 目录中的文件如何在 Java 中列出?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:24:14 25 4
gpt4 key购买 nike

我有一个目录,我需要从中读取 txt 文件。

代码如下:

            try {
File dir = new File(directoryName);
File[] files = dir.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".txt");
}
});
for (File xmlfile : files) {
System.out.println("File name:" + xmlfile.getAbsolutePath());
}
} catch (Exception e) {
System.out.println(e);
}

这样创建了一个测试用例:
1. 创建了一个名为“content”的目录。它填充了两个文件:1.txt 和 2.txt。它们的创建顺序与所提到的顺序相同。
2.其中一个文件,1.txt被重命名为sriram.txt(say)。

这是我得到的结果:
1. 在 Windows 上,文件始终按字母顺序列出。
2. 在 Linux 上,文件按时间戳列出。在 Ubuntu 上,文件以时间戳的相反顺序列出。在其他基于 Debian 的发行版中,文件按时间戳的升序排列。

我的问题:
1. Java 内部是如何列出文件的? listFilesFilenameFilter 的文档对此并不清楚。
2. 从上面的测试用例来看,Java 在列出文件时似乎正在使用特定于操作系统的东西。这是什么以及如何显示它?

最佳答案

The documentation对此非常清楚:

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 - 目录中的文件如何在 Java 中列出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31917119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com