|
|
1
45
ApacheCommons中使用的技术使用父目录的规范路径,而不是文件本身。我认为您不能保证不匹配是由符号链接引起的,但这很好地表明文件需要特殊处理。 这是 Apache code (服从 their license ,修改为密实度。
|
|
|
2
13
Java 1.6不提供对文件系统的这种低级别访问。看起来像 NIO 2 应该包含在Java 1.7中,它将支持符号链接。 A draft of the new API 是可用的。符号链接 are mentioned there , creating 和 following 它们是可能的。我不确定应该使用哪种方法来确定文件是否是符号链接。有 a mailing list 讨论NIO 2-也许他们会知道。 |
|
|
3
11
另外,注意
(我知道这本身并不是一个有用的答案,但它让我有几次被绊倒了,所以我想我应该分享一下) |
|
|
4
5
看起来像
但它可能适用于绝大多数用例;您的里程数可能会有所不同。 |
|
|
5
3
如果你已经为*nix专门编码了一些东西,那么你可以像这样做一个shell命令:
这对尼克斯来说是非常具体的,但它至少起作用。 |
|
|
6
1
很抱歉回复了这么一篇旧的文章,但我想找一个Windows系统的解决方案,以前的一些答案对我来说不太合适。如果您不关心跨平台兼容性,只需要一个Windows解决方案,那么下面的技术就可以很好地满足我的需要。
|
|
|
7
-2
我想在处理这个问题时我会分享一些好运气。我使用的是JDK 1.6.0,因此我无法从NIO2中获益。我只是在Windows7/x64上构建和运行,这样其他环境中的里程数可能会有所不同。不幸的是,这里的其他解决方案在避免尝试遍历连接时导致的NullPointerExceptions(可能是因为连接)方面不起作用。=符号链接….)。虽然我不受JDK版本的约束,但我决定将这个问题保持更长的时间。 我有这个代码,如果在符号链接上使用或者遇到“系统卷信息”目录时,会导致nullpointerException。(注:TraveSimult.f-()返回一个Java.IO文件的对象)
所以,它应该是一个目录,但是对它调用listfiles()会导致NPE。怎么办?我发现了list()方法,想知道它是否会表现出相同的行为。我发现的是: 对描述空文件夹的文件调用list()将返回长度为零的字符串[]数组。但是,对描述连接的文件调用list(),否则将从listfiles()崩溃,返回空值。 通过在调用listfiles()之前添加以下测试,我可以避免nullpointerExceptions。
它仍然要详尽地测试所有的连接、符号链接、硬链接,我敢说它是快捷方式,但这可能会有所帮助。 |