直接从this Oracle Java教程:
它说了关于Path类的toRealPath方法:
如果将true传递给此方法,并且文件系统支持
符号链接,此方法可解析路径中的所有符号链接。
在false
传递给构造函数但路径实际上包含symbolik链接的情况下该怎么办?
程序在运行时如何反应?
提前致谢。
最佳答案
您只能传递任何内容,而不能传递NOFOLLOW_LINKS,因此它不会解析符号链接,只会规范化路径(删除不必要的“ ..”)并将其设为绝对。
当不解析符号链接和之前的名称时[到“ ..”]
是符号链接,则只有在保证名称的情况下才删除名称
结果路径将与此路径定位在同一文件。
(javadoc)
从javadoc获得的方法的完整说明以及其他信息:
返回现有文件的真实路径。的精确定义
此方法取决于实现,但通常它源自
该路径,一个绝对路径,与该路径位于同一文件中,
但具有代表实际名称的名称元素
目录和文件。例如,在
文件系统不区分大小写,则名称元素代表
以实际情况命名。此外,结果路径具有
多余的名称元素已删除。
如果此路径是相对路径,则首先获取其绝对路径,如
如果通过调用toAbsolutePath方法。
options数组可用于指示符号链接的方式
处理。默认情况下,符号链接解析为最终链接
目标。如果存在选项NOFOLLOW_LINKS,则此方法可以
无法解析符号链接。一些实现允许特殊名称
例如“ ..”以引用父目录。当推导实数时
路径,然后在“ ..”(或等效名称)之前加上非“ ..”名称
一个实现通常会导致两个名称都被删除。什么时候
不解析符号链接,并且前面的名称是符号链接
那么只有在保证生成结果后,才删除名称
路径将与此路径找到相同的文件。
来源:javadoc:java se 8:http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html#toRealPath-java.nio.file.LinkOption...-
关于java - 方法到RealPath的行为(类java.nio.file.Path),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18046595/