文件在JAVA中路径名字符串的前缀和长度是多少?
档案。java使用一个变量作为:
private final transient int prefixLength;
并且说,这是“抽象路径名的前缀”
档案。java还有一个构造函数:
public File(String pathname) {
if (pathname == null) {
throw new NullPointerException();
}
this.path = fs.normalize(pathname);
this.prefixLength = fs.prefixLength(this.path);
}
在这里,它是使用fs设置变量前缀长度。prefixLength()方法
变量fs在文件中定义。java as:
private static final FileSystem fs = DefaultFileSystem.getFileSystem();
DefaultFileSystem类的方法getFileSystem()返回UnixFileSystem的对象。所以方法fs。prefixLength()实际上调用UnixFileSystem的prefixLength()方法。UnixFileSystem的prefixLength()方法实现如下:
public int prefixLength(String pathname) {
if (pathname.length() == 0) return 0;
return (pathname.charAt(0) == '/') ? 1 : 0;
}
表示此方法仅返回0或1,具体取决于路径名的长度或路径名的第一个字符
我的疑问是: 它是什么类型的长度,它的意义是什么
# 1 楼答案
prefixLength
背后的想法是将文件名中指示其路径根位置的部分与文件名的其余部分分开处理:上面的前缀是
c:\
UNIX实现非常简单,因为只有两个初始位置是可能的——根
/
和当前目录(没有前缀)支持
\\
、c:
、c:\
和\
的Windows实现如下所示:# 2 楼答案
你的问题还不清楚,让我们试着澄清一下:
1)该长度表示文件路径的名称是否带有条。在unix文件系统中,了解
2)当您试图访问此文件路径中的文件时,可能会使用“/”来考虑