gpt4 book ai didi

java - 从批处理文件运行java时如何获取java项目中文件的路径?

转载 作者:行者123 更新时间:2023-12-01 10:12:29 25 4
gpt4 key购买 nike

我有一个在 Windows 上运行的 Java 8 应用程序。我想在我的 Java 项目中找到一个文件而不使用绝对路径。当我从命令提示符运行应用程序时,以下代码有效:System.getProperty("user.dir")。但是,当我从批处理文件运行 java 应用程序时,此代码返回批处理文件的路径,该路径与 java 应用程序的路径不同。

如何获取位于 Java 项目文件夹中的文件 abc.txt 的路径?

最佳答案

System.getProperty("user.dir") 为您提供了正确的目录,因为您的应用程序是在批处理文件中启动的。这就是它的工作原理。

您始终可以使用类加载器在应用程序中加载文件。

假设您已将 abc.txt 放入项目文件夹中。实际上,如果您在代码中的某个位置将其用作资源文件,则应该将其放在项目的 src/resources 文件夹中。然后在您的代码中执行以下操作:

   File file = new File(getClass().getResource("abc.txt").getFile());

无论您的应用程序从何处启动,您都可以访问该文件。

看看this post on using ClassLoader将帮助您更好地了解如何在 Java 中加载资源。

更新

Here is my project in Eclipse ,abc.txt在src文件夹下,该文件夹位于类路径中。

MyClass.java 仅包含以下代码:

    public class MyClass {
public static void main(String[] args) {
System.out.println("s: " + MyClass.class.getClassLoader().getResource("abc.txt").getFile());
}
}

关于java - 从批处理文件运行java时如何获取java项目中文件的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36068557/

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