伤不起:File.toPath() & Paths.get()

java.nio.file.Path这个类应该是从java7才开始有的。

通过File类有两个方法可以转换成Path.

1. Path p = Paths.get(file.toURI());  //这是我以前一直用的
  
2. Path p = file.toPath(); //这是我今天才发现可以这样用

通过查看Paths和File的源代码,可以发现他们的实现方式不同。

为了测试哪一种方法效率更高一些,我就循环1万次执行这两个方法,结果如下:

1. Path p = Paths.get(file.toURI());  //耗时: 300ms
  
2. Path p = file.toPath(); //耗时: 15ms

唉,这样看来以前那种方法不是什么好方法。

2013-01-10

原文地址:https://www.cnblogs.com/personnel/p/4584829.html