2012-07-02 36 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();