15
A
回答
28
File.getCanonicalPath()
解析符號鏈接
一個規範路徑名是絕對和唯一的。規範形式的確切定義是與系統相關的。如果需要,此方法首先將此路徑名轉換爲絕對形式,就像調用getAbsolutePath()方法一樣,然後以系統依賴的方式將其映射到其唯一形式。這通常涉及刪除冗餘名稱,如「。」和「..」,解析符號鏈接(在UNIX平臺上)以及將驅動器號轉換爲標準大小寫(在Microsoft Windows平臺上)。
我假設你可以比較getCanonicalPath()
和getAbsolutePath()
的結果。
更新:看來這個問題已經被問 - 檢查the answers there
11
您也可以使用isSymbolicLink(Path path)方法。它會更可靠。
java.io.File file = ...;
boolean isSymbolicLink = Files.isSymbolicLink(file.toPath());
來自Java Doc'Detecting a Symbolic Link'的類似示例。
+3
僅限於Java 7。 – adelphus 2013-11-11 12:37:16
相關問題
- 1. 檢測文件是否是Java 8中的符號鏈接
- 2. 更改java符號鏈接
- 3. 當符號是@或#時,檢測RichTextBox中的超鏈接。
- 4. Java:檢查符號鏈接文件是否存在
- 5. 鏈接檢測?
- 6. 符號鏈接
- 7. 符號鏈接
- 8. Python 3沒有檢測到符號鏈接通過統計
- 9. 檢索符號鏈接的路徑
- 10. 在href鏈接中檢測href門戶號碼
- 11. 在紙上檢測符號
- 12. 鏈接中的符號表
- 13. 符號鏈接CMake
- 14. 符號鏈接自
- 15. 在python中,如何測試路徑是否是符號鏈接?
- 16. 在Chrome中檢測訪問的鏈接
- 17. 在Codeigniter中檢測損壞的鏈接
- 18. java nio在符號鏈接中迭代文件
- 19. 在Java中解析目錄符號鏈接
- 20. 在gcc中定義鏈接符號
- 21. 符號鏈接在TFS中搞砸了
- 22. 兩個符號鏈接之間的符號鏈接
- 23. node_modules:符號鏈接還是不符號鏈接?
- 24. Apache的符號鏈接符號鏈接返回HTTP 500錯誤
- 25. 將相對符號鏈接轉換爲絕對符號鏈接
- 26. 檢測Python中沒有Pywin32的Vista/7上的符號鏈接(mklink)
- 27. 檢測鏈接ID onClick
- 28. 檢測鏈接的方法
- 29. 檢測鏈接沒有href
- 30. 混帳不存儲符號鏈接作爲符號鏈接在Windows
聽起來像它可能工作 - 我不知道調用一個真正的文件系統對象是多麼昂貴(我認爲它必須檢查樹上的每個目錄,因爲我只關心最後一個)... – 2010-03-22 06:46:15
謝謝 - 使用Apache的commons IO,如http://stackoverflow.com/questions/813710/java-1-6-determine-symbolic-links/813730#813730中所述,這似乎是一個很好的解決方案。 – 2010-03-22 23:56:17