java - 使用 Java.io.File 列出目录内容时的奇怪行为

标签 java file-io

(背景)
我正在使用 Java.io.File做一些windows目录搜索。基本上用户输入一个目录路径,我用 file.isDirectory() 验证路径.如果路径无效,我会要求用户重新输入正确的路径。获得有效目录后,我将继续进行其他文件操作。

(问题)
现在问题出现在用户进入根目录时。例如,e: .在这种情况下 file.list()提供以下输出 [.classpath, .project, .settings, bin, src] .
如您所见,这不包括任何文件夹。

但是如果他输入 e:\然后 file.list()也获取现有目录 [$RECYCLE.BIN, <some directories>, <some files>, RECYCLER, System Volume Information]

这次我们没有类路径、项目等,但同时 e:e:\被认为是有效的目录。

1) 谁能解释一下这种奇怪的行为?

2) 此外,为避免此问题,是否有比为 x: 添加脏手动检查更好的方法?并将其转换为 x:\

最佳答案

我希望某些东西将 "e:" 解释为卷 e: 的当前目录(可能不是根目录)。陈峰recently covered the history这类事情。

关于java - 使用 Java.io.File 列出目录内容时的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3948751/

相关文章:

java - Java (Linux) 中的文件路径

java - 强制子类使用类型参数

java - 如何为 Java 应用程序创建一个简单的分布式 map ?

java - 读取另一个进程正在写入的文件的最佳(影响最小?)方法是什么?

java - 如何使用java检查正在外部更新的文件的内容?

java - FileStatistics - 计算文件中的单词数时遇到问题

c - 为什么以下打印 'Resource temporarily unavailable' ?

java - 如何查看数组

java - Oracle 中的日期保存不适用于 ISO 8601 标准

java - Android Java 倒计时然后做某事