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. lstat不检测符号链接
- 3. 更改java符号链接
- 4. 是否有配置测试检测无效的符号链接?
- 5. 在javascript中检测链接
- 6. 当符号是@或#时,检测RichTextBox中的超链接。
- 7. 如何检测Perl中符号链接是否损坏?
- 8. 如何检测Bash中符号链接是否被破坏?
- 9. 检测Mono中的符号链接和管道
- 10. 如何检测Go中的符号链接错误?
- 11. 如何检测符号链接的圆圈在Haskell
- 12. .htaccess或符号链接(符号链接)
- 13. 删除java中的符号链接
- 14. Java 1.7中的符号链接lastModifiedTime
- 15. Java:检查符号链接文件是否存在
- 16. 链接检测?
- 17. 符号链接
- 18. 符号链接
- 19. Python 3没有检测到符号链接通过统计
- 20. 检查目录是否符号链接?
- 21. 符号链接检查 - Linux Bash脚本
- 22. 检索符号链接的路径
- 23. 在href链接中检测href门户号码
- 24. 用Java创建符号链接
- 25. 检测超链接
- 26. 在纸上检测符号
- 27. libzip中的符号链接
- 28. 链接中的符号表
- 29. solr中的符号链接
- 30. 符号链接在提交
听起来像它可能工作 - 我不知道调用一个真正的文件系统对象是多么昂贵(我认为它必须检查树上的每个目录,因为我只关心最后一个)... – 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