如何在Java中获取路径的长度?

6
你如何获得路径的长度?我是否有所遗漏?奇怪的是,Path类中没有实现int length()或任何类似的方法。例如:对于路径 ,如何计算其长度?
C:\foo\bar\anotherfolder\subfolder

该方法将返回4。

我会称之为“深度”,因为它是目录树中的深度。 - Andy Turner
为什么 C: 不计入总数? - Bathsheba
2个回答

20

Path.getNameCount():

返回路径中名称元素的数量。

注:这里的"name elements"是指路径中各级目录和文件的名称。

1

您可以使用计算字符串中反斜杠总数的方法来得到相同的答案。像这样:

StringTokenizer stOR = new StringTokenizer("C:\foo\bar\anotherfolder\subfolder", "\\");

如果您正在使用Windows系统,则需要为每个反斜杠添加额外的反斜杠。否则,您的字符串将在编译时出现错误无效的转义序列(有效的是\b \t \n \f \r \" \' \\)

int orCount = stOR.countTokens()-1;

System.out.println(orCount);


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接