创建的文件没有父级?

在java程序中,我创建一个文件

File temp = new File("temp");
temp.createNewFile();

然后出于某种原因,当我写

File pDir = temp.getParentFile();

并且 pDir 为空。我真的想写

File pDir = temp.getParentFile().getParentFile();

但这会引发空指针异常。


答案 1

您需要一个具有路径的文件,请尝试 getAbsoluteFile。

File pDir = temp.getAbsoluteFile().getParentFile();

答案 2

您正在创建一个名为 temp 的文件,但它没有路径,因此不会有父路径。如果要将文件放在当前目录中:

File temp = new File(System.getProperty("user.dir")+"/temp");
File parent = temp.getParentFile();