【发布时间】:2018-06-28 20:27:33
【问题描述】:
如果我位于文件结构深处的目录中,如何检查文件是否存在于文件树的某个位置(例如系统上的任何位置)?我正在尝试使用 exists() 文件,但它似乎不起作用。
例如:如果根目录有四个子目录:a、b、c、d。并且 dir a 有文件 a.txt。如果 dir d 有三个子目录,而我目前在最远的子目录中。如果我执行 (new File("a.txt")).exists() 之类的操作,则表示该文件不存在。因此,我想知道如何查找文件是否存在于系统上任何位置的超级目录中。
编辑:例如,如果我不知道文件所在的目录,只知道文件名,你怎么看它是否存在?
我是 Java 新手,因此我们将不胜感激。
【问题讨论】:
-
您是否尝试过自己编写代码并查看它是否有效?一点点努力就会有很长的路要走。
-
是的,它不起作用。我想知道如何查看超级目录中是否存在文件
-
好吧,使用绝对路径:
new File("/a/a.txt"),或相对路径:new File("../../a/a.txt")。您需要了解一般的文件路径:这不仅限于 Java。 -
如果我不知道绝对路径,只知道文件名怎么办?
-
好吧,在这种情况下,您必须扫描整个磁盘才能找到它。但这真的不是你想做的事情。所以改变你的设计,这样你就不必这样做了。顺便说一句,你怎么知道它是正确的 a.txt 文件:文件系统上可能有很多。