import java.nio.file.*;class Test
{
public static void main(String[] args)
{
Path p=Paths.get(".");
System.out.println(p.getNameCount());
}
}
如果你把“.”换成当前路径,再运行一遍发现结果不一致。
应该不是bug,但JAVA究竟是如何处理和看待这个“.”东东的??API Specifications follow below:int getNameCount()Returns the number of name elements in the path.Returns:
the number of elements in the path, or 0 if this path only represents a root component
System.out.format("toString: %s%n", p.toString());
"."在path类型中没翻译成本地绝对路径, 导致count=1plus: getNameCount()这个函数不好, "C:\\a\\"是1, "C:\\a\\."是2, 在C:\\a\\目录下, "."是1
要翻译成绝对路径,请调用toAbsolutePath这个方法