【问题标题】:I want to use parent directory‘s parent directory我想使用父目录的父目录
【发布时间】:2021-01-12 09:35:34
【问题描述】:

我正在制作一个Java程序,我想使用父目录的父目录,因为我想更改该目录中文件的内容。

到目前为止我试过了:

static File pdir = new File(System.getProperty("user.dir")).getParentFile();
static File pdir2 = new File(System.getProperty("pdir")).getParentFile();

还有一些类似的东西,但没有一个起作用。

第二行的错误是:

Plugin.main.main(main.java:20) 处的线程“main”java.lang.ExceptionInInitializerError 异常原因:java.base/java.io.File.(File.java) 处的 java.lang.NullPointerException :278) 在 Plugin.pfun.(pfun.java:13) ... 1 更多

你能推荐什么吗?

【问题讨论】:

  • 定义“它们都不起作用”。代码编译了吗?您是否收到任何错误或异常?
  • 不,有时它会出错,有时它工作不完整,它在我编写的代码中出错,并且错误是“Plugin.main 的线程“main”java.lang.ExceptionInInitializerError 中的异常。 main(main.java:20) 原因:java.base/java.io.File.(File.java:278) 处的 java.lang.NullPointerException 在 Plugin.pfun.(pfun.java: 13)……还有 1 个”
  • 检查System.getProperty 是否确实返回了您认为的值。在我看来,在其中一种情况下,它返回一个 null,然后将其传递给 File 的构造函数,这对此并不满意。
  • 当我尝试只写第一行时,它可以工作。如果我也写第二行,就会出现上述错误。

标签: java directory


【解决方案1】:

将第二行改为

static File pdir2 = pdir.getParentFile();

【讨论】:

  • 乐于助人。如果回答了您的问题,请考虑接受我的回答。