我一直在学习Java中的文件系统管理。我在 Path 接口下发现了解析方法的文档。我不明白绝对路径和具有根组件的路径之间的区别。它们不是一样吗?
来自文档:
路径解析(路径其他)
根据此路径解析给定路径。
如果 other 参数是绝对路径,则此方法通常会返回 other。如果 other 是空路径,则此方法将简单地返回该路径。否则,此方法会将此路径视为目录,并根据此路径解析给定路径。在最简单的情况下,给定路径没有根组件,在这种情况下,此方法将给定路径连接到此路径,并返回以给定路径结尾的结果路径。 如果给定路径具有根组件,则分辨率高度依赖于实现,因此未指定。
我以为他们的意思是一样的,就在网上搜索了一下,但什么也没找到。
在 Unix 系统上:是的。当且仅当它具有根组件(始终为“/”)时,路径才是绝对路径。
在 Windows 上,事情变得……丑陋。 有 5(!)种不同类型的路径。 它们是:
WindowsPath.isAbsolute() 仅将绝对路径和 UNC 路径视为“绝对”