直接来自this oracle java教程:
它讲述了类Path的方法toRealPath:
如果将true传递给此方法且文件系统支持 符号链接,此方法解析路径中的任何符号链接。
在false
传递给构造函数但路径实际包含symbolik链接的情况下是什么?
程序如何在运行时做出反应?
提前致谢。
答案 0 :(得分:0)
你可以直接传递任何内容而不是NOFOLLOW_LINKS,因此它不会解析符号链接并只是规范化路径(删除不必要的“..”)并使其成为绝对的。
当不解析符号链接和前面的名称[到“..”]时 是一个符号链接,然后只有保证名称被删除 结果路径将找到与此路径相同的文件。
(Javadoc中)
从javadoc获得的附加信息的方法的完整描述:
返回现有文件的实际路径。精确定义 此方法依赖于实现,但通常源自 此路径是一个绝对路径,它定位与此路径相同的文件, 但是名称元素代表了实际的名称 目录和文件。例如,文件名比较a 文件系统不区分大小写,然后名称元素表示 在实际情况下的名称。此外,生成的路径具有 删除了冗余名称元素。
如果此路径是相对的,则首先获得其绝对路径,如 如果通过调用toAbsolutePath方法。
options数组可用于指示符号链接的方式 处理。默认情况下,符号链接将解析为最终 目标。如果存在选项NOFOLLOW_LINKS,则此方法可以 不解决符号链接。一些实现允许特殊名称 例如“..”来指代父目录。在推导出真实的时候 路径,然后“..”(或等效的)前面有非“..”名称 实现通常会导致两个名称都被删除。什么时候 不解析符号链接,前面的名称是符号链接 然后只有在保证结果的情况下才删除名称 path将找到与此路径相同的文件。
资料来源:javadoc:java se 8:http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html#toRealPath-java.nio.file.LinkOption...-