java - 尝试查找给定路径中是​​否存在文件

标签 java filepath

我对 java 相当陌生,我正在尝试查找 LINUX 路径中指定的文件是否存在。

private void validateFilePath(String filePath) {

        File dir = new File(filePath);

        if(dir.exists()){
                System.out.println("File exists in the path " + dir);
                setTARGET_IMG_DIR("filePath");
                return; 
        }else{
            System.out.println("File does not exists in the path: " + dir);
            return;
        }

    }

如果我像这样给出从我的根开始的绝对路径,则 dir.exists 工作正常

/Users/yv/Documents/Eclipse-workspace/InputParser/bin/test.txt

但是如果我给出像这样的相对路径 test.txt/InputParser/bin/test.txt 它说文件不存在。

我计划创建该项目的 jar,因此这应该适用于相对路径(同一目录中的文件)和来自根目录的绝对路径。我该如何处理这个问题?

是否可以从根目录搜索该文件的绝对路径并将其附加到文件名中?

最佳答案

Eclipse 通常在项目目录设置为 user.dir 的情况下运行,这是执行的基目录。所以如果绝对路径是:

/Users/yv/Documents/Eclipse-workspace/InputParser/bin/test.txt

那么相对路径将是:

bin/test.txt

您可以通过从 Java 系统属性获取 user.dir 属性来仔细检查工作目录。有关 Java 系统属性的更多信息 check the documentation .

关于java - 尝试查找给定路径中是​​否存在文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12789780/

相关文章:

java - BufferedReader 创建奇数字符,我应该使用哪种字符编码?

java - 如何使用 java 表达式语言执行此操作

java - Windows 和 Linux 中用于 Java 代码的路径定界符

C++17 根据文件路径自动创建目录

Python Tkinter返回csv文件目录

python - 如何在 Python 3 中使用与 Linux、Mac 和 Windows 交叉兼容的文件路径打开和写入文件?

java - 为什么子类已经覆盖了父类的静态方法,还要调用父类的静态方法?

java - DBUnit DatabaseUnitRuntimeException

java - 如何验证 Wicket 中 PageableListView 中的所有项目?

Java 文件路径问题