当前位置: 首页 > 面试题库 >

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

壤驷彦
2023-03-14
问题内容

我想使用Java访问我当前的工作目录。

我的代码:

 String current = new java.io.File( "." ).getCanonicalPath();
        System.out.println("Current dir:"+current);
 String currentDir = System.getProperty("user.dir");
        System.out.println("Current dir using System:" +currentDir);

输出:

Current dir: C:\WINDOWS\system32
Current dir using System: C:\WINDOWS\system32

我的输出不正确,因为C驱动器不是我的当前目录。

如何获得当前目录?


问题答案:

代码:

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

这将打印从中初始化您的应用程序的当前目录的绝对路径。

说明:

从文档中:

java.io软件包使用当前用户目录解析相对路径名。当前目录表示为系统属性,也就是user.dir从其中调用JVM的目录。



 类似资料:
  • 问题内容: 我想使用以下命令访问我当前的工作目录 输出: 我的输出不正确,因为C驱动器不是我的当前目录。在这方面需要帮助。 问题答案: 这将从您的应用程序初始化位置打印出完整的绝对路径。

  • 问题内容: 这是我的Maven项目结构 现在,当我从IntelliJ运行Module1Class1时,我的当前工作目录是ProjectParent目录,但是当我从Eclipse运行Module1Class1时,我的当前工作目录是ProjectParent / Module1目录。 为什么intellij会有所不同以及如何更改它,所以我的当前目录始终是我的班级开始执行的位置,例如本示例中的“ Mod

  • 问题内容: 我正在制作一个程序包以对服务进行API调用。 我有一个测试包,仅用于测试API调用和测试主包的功能,而我只是将另一个包插入其中。 在我正在工作的主包装中,我有 没关系,但是当我从测试包中调用它时,例如 它告诉我 问题是,它正在寻找内部而不是它所在的位置。 只是为了澄清这些混乱的说法: API包具有从同一目录读取的功能 但是因为我包括了API包,而在我尝试将Testfolder作为CWD

  • 我最近将tomcat应用程序从一台Linux服务器迁移到另一台。从那以后,我在新服务器上面临一个新的文件创建问题。在新服务器中,当我尝试创建文件时失败,这在旧服务器中运行良好: 为了调查这个问题,我使用以下工具打印了工作目录: 这个调试揭示了问题背后的根本原因:旧服务器返回:var/lib/tomcat,而新服务器返回:/(根目录),因为tomcat用户没有(也不应该)对根目录的写入权限,所以无法

  • 问题内容: 如何在Java程序中更改当前工作目录?我已经找到的关于该问题的所有信息都声称你根本做不到,但我不敢相信确实如此。 我有一段代码可以使用通常从其开始的目录中的硬编码相对文件路径打开文件,而我只想能够从其他Java程序中使用该代码而不必从内部启动特定目录。看来你应该可以拨打,但据我所知,仅默默地拨打那条电话就行不通了。 我会理解,如果Java不允许你这样做,或者不是因为Java允许你获取当

  • 问题内容: 我想用Go 实现命令: 但是当我在shell中运行时,它仍然不会切换到我的主目录。 那么如何通过运行go文件在shell中更改我的工作目录? 问题答案: 你做不到 每个子进程都有从父进程继承的自己的工作目录。在这种情况下,您将从其父级(您的shell)获取其工作目录。子进程无法更改父进程的目录或任何其他状态。 这是基本的过程分离。允许子进程影响其父进程将遇到各种安全性和可用性问题。 外