簡體   English   中英

Path.getParent()為null

[英]Path.getParent() is null

我剛遇到的行為我不明白:

Path path = Paths.get("somefile.txt");
System.out.println(path.getAbsolutePath());
System.out.println(path.getParent());

好吧,說實話,我正在調試一些代碼,我在運行時評估了這段代碼,路徑被解析為WindowsPath實例,因此有方法getAbsolutePath可用。

當我運行代碼時,parent為null,但absolutePath打印了絕對路徑。 所以如果對象知道絕對路徑並且有父目錄,為什么它返回null?

根據javadoc, Path#getParent()方法:

返回父路徑,如果此路徑沒有父路徑,則返回null。

此方法不訪問文件系統; 路徑或其父級可能不存在

這意味着"somefile.txt"在應用程序根目錄的上下文中沒有父路徑。

你必須提供完整的路徑/home/username/filename.txt而不是somefile.txt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM