首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

新手发现java7 API的一个bug?解决办法

2013-01-26 
新手发现java7 API的一个bug??import java.nio.file.*class Test{public static void main(String[] args

新手发现java7 API的一个bug??


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
[解决办法]
这尼玛真是个bug.....
"."在path类型中没翻译成本地绝对路径, 导致count=1

plus: getNameCount()这个函数不好, "C:\\a\"是1, "C:\\a\\."是2, 在C:\\a\\目录下, "."是1
[解决办法]
本来就是这么设计的吧……
要翻译成绝对路径,请调用toAbsolutePath这个方法

热点排行