2012-07-02 41 views
10

在Java程序中,我创建创建文件没有父项?

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

然后文件由于某种原因,当我写

File pDir = temp.getParentFile(); 

和PDIR为空。我其实想写

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

但是引发空指针异常。

+0

它们不是自动在工作目录中创建的吗?它确实在那里创建文件,它不会返回任何父母。 – SSEMember

回答

26

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

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

谢谢!这工作完美。我会尽快接受。 – SSEMember

0

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

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