是否存在一个(Java 7)文件系统,其路径为.isAbsolute(),但根为空?
javadoc for说: 说明此路径是否为绝对路径。是否存在一个(Java 7)文件系统,其路径为.isAbsolute(),但根为空?,java,java-7,java.nio.file,Java,Java 7,Java.nio.file,javadoc for说: 说明此路径是否为绝对路径。 绝对路径是完整的,因为它不需要与其他路径信息组合以定位文件 返回: true当且仅当此路径是绝对路径 javadoc for说: 将此路径的根组件作为路径对象返回,如果此路径没有根组件,则返回null 返回: 表示此路径的根组件的路径,或null 好的,所以,我在这里不知所措;有没有任何文件系统的路径可能是绝对的,根本没有根 编辑:请注意,有些路径可能有根,但不是绝对路径。例如,Windows系统上的这些: C:foo \foo\bar
绝对路径是完整的,因为它不需要与其他路径信息组合以定位文件 返回:
true
当且仅当此路径是绝对路径
javadoc for说:
将此路径的根组件作为路径对象返回,如果此路径没有根组件,则返回null
返回:
表示此路径的根组件的路径,或null
好的,所以,我在这里不知所措;有没有任何文件系统的路径可能是绝对的,根本没有根
编辑:请注意,有些路径可能有根,但不是绝对路径。例如,Windows系统上的这些:
李>C:foo
\foo\bar
但我要求的恰恰相反:没有根和绝对。好吧,文件系统有一些模糊的东西。我制作了一些企业搜索爬虫,在以后的某个地方,你会注意到一些奇怪的文件系统路径。顺便说一句:这些都是自定义(重写)文件系统的实现,所以没有标准的,你可以肯定地争论几个小时,哪些是好主意,哪些不是。。。不过,我认为您不会在标准文件系统中遇到这些情况 下面是一些奇怪事情的例子: 容器文件系统中的文件(OLE2、ZIP、TAR等):c:\foo\bar\blah.ZIP\myfile 在这种情况下,您可以决定哪一项是“根”:
- “c:\”?这不是包含该文件的zip文件的根
- 'c:\foo\bar\blah.zip'?它可能是文件的根,但这样做可能会破坏应用程序
- “等等,拉链”?可能是zip文件的根-但无论如何,这可能也会破坏您的应用程序
- “/”?是否与zip文件中的“/”文件夹相同?这也许是可能的,但从长远来看,这会让你头疼不已
- 您有'/foo/bar'这一事实并不意味着'/foo'甚至'/'存在。(假设这符合你的标准)。你唯一能做的就是沿着图表走
- 请注意,像WebDav这样的协议是基于HTTP的,可能会让您感到类似的头痛。这里有一些自定义webdav文件系统的示例,它们没有“根”文件夹,但有绝对路径李>
<强>如果该语句是可信的,那么没有文件系统(不管多么晦涩)可以包含java API将绝对考虑的路径,除非它还认为它包含根< /强>。p> 您可能会争辩说,在一些非继承人体系结构的文件系统中,您可能会在决定文件是否可以是自己的根时遇到一些问题。但是,根据(emphasis mine)中的定义,路径不应表示非层次元素
路径表示分层的路径,该路径由 目录和文件名元素的顺序 定义 接口说明了有关根的以下内容: 还可能存在标识文件系统层次结构的根组件 如您所见,该注释似乎暗示根用于文件系统层次结构。 现在我们必须解释什么是绝对路径。界面告诉我们以下内容: 绝对路径是完整的,因为它不需要与其他路径信息组合以定位文件 如你所见,在绝对路径的定义中没有关于根的词。唯一的限制是我们必须能够在没有进一步信息的情况下找到该文件 分层文件系统大多数文件系统是分层的,即它们是树(或图,如果我们考虑LIN)
cf23df2207d99a74fbe169e3eba035e633b65d94