gpt4 book ai didi

java - 如何在 Java 中获取当前工作目录?

转载 作者:IT老高 更新时间:2023-10-28 11:21:22 26 4
gpt4 key购买 nike

假设我在 C:\Users\Justian\Documents\ 中有我的主类。如何让我的程序显示它在 C:\Users\Justian\Documents 中?

硬编码不是一个选项 - 如果它被移动到另一个位置,它需要适应。

我想将一堆 CSV 文件转储到一个文件夹中,让程序识别所有文件,然后加载数据并对其进行操作。我真的只是想知道如何导航到那个文件夹。

最佳答案

一种方法是使用 system property System.getProperty("user.dir"); 这将为您提供“初始化属性时的当前工作目录”。这可能就是你想要的。找出发出 java 命令的位置,在您的情况下,在包含要处理的文件的目录中,即使实际的 .jar 文件可能位于机器上的其他位置。在大多数情况下,拥有实际 .jar 文件的目录并没有多大用处。

无论 .class 文件位于 .class 或 .jar 文件的哪个位置,以下内容都会打印出调用命令的当前目录。

public class Test
{
public static void main(final String[] args)
{
final String dir = System.getProperty("user.dir");
System.out.println("current dir = " + dir);
}
}

如果您在 /User/me/ 并且包含上述代码的 .jar 文件在 /opt/some/nested/dir/命令 java -jar/opt/some/nested/dir/test.jar Test 将输出 current dir =/User/me

您还应该考虑使用一个好的面向对象的命令行参数解析器。我强烈推荐JSAP ,Java 简单参数解析器。这将允许您使用 System.getProperty("user.dir") 或者传入其他内容来覆盖该行为。一个更易于维护的解决方案。这将使传递目录以进行处理变得非常容易,并且如果没有传递任何内容,则能够退回到 user.dir

关于java - 如何在 Java 中获取当前工作目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3153337/

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