伤不起: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

时间: 2024-07-28 20:27:11

伤不起:File.toPath() & Paths.get()的相关文章

Java基础教程——File类、Paths类、Files类

File类 File类在java.io包中.io代表input和output,输入和输出. 代表与平台无关的文件和目录. 可以新建.删除.重命名,但不能访问文件内容. File类里的常量: import java.io.File; public class TestFileConst { public static void main(String[] args) { String s = ""; // 文件分隔符:win反斜杠(\)linux正斜杠(/) s = File.separ

2.2.5 NIO.2 Path 和 Java 已有的 File 类

NIO与IO交互 toPath() File -- Path toFile() Path -- File Demo: import java.io.File; import java.nio.file.Path; import java.nio.file.Paths; public class PathAndFile { public static void main(String[] args) { File file = new File("/Users/jinxing/Documents/

Java文件IO操作应该抛弃File拥抱Path和Files

Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream;import java.nio.file.FileSystem;import java.nio.file.FileSystems;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.Paths;import java.nio.file.attribute.FileAt

Akka(39): Http:File streaming-文件交换

所谓文件交换指的是Http协议中服务端和客户端之间文件的上传和下载.Akka-http作为一种系统集成工具应该具备高效率的数据交换方式包括文件交换和数据库表行的上传下载.Akka-http的数据交换模式支持流式操作:代表交换数据可以是一种无限长度流的元素.这种模式首先解决了纯Http大数据通过Multipart传输所必须进行的数据分段操作和复杂的消息属性设定等需要的技术门槛,再者用户还可以很方便的使用Akka-stream对数据进行深度处理,免去了数据转换的麻烦.更重要的是:Akka-http还

java File类的常见用法

File类简单用法! [java] view plain copy print? [java] view plain copy print? import java.io.File; import java.io.IOException; public class TestFile { public void createFile(String path){ File file=new File(path); if(!file.exists()){//判断文件是否存在 try { file.cr

File类基础

File类的作用: Java的io包中定义了File类,用于对文件或文件夹的管理操作. File类只能够用于表示文件或文件夹的信息(属性)和对该文件或文件夹的删除创建操作 (不能对内容进行访问) 通过创建File类对象可以用程序来操作电脑上的文件或文件夹. File类的构造方法: File(String path):通过指定的路径名字符串来创建一个新的File对象,抽象路径名是用来表示某个文件或文件夹的路径定位. File(File parent,String path):根据parent父文件

java获取指定路径下的指定文件/java.io.File.listFiles(FilenameFilter filter)

java.io.File.listFiles(FilenameFilter filter) 返回抽象路径名数组,表示在目录中此抽象路径名表示,满足指定过滤器的文件和目录. 声明 以下是java.io.File.listFiles(FilenameFilter filter)方法的声明: public File[] listFiles(FilenameFilter filter) 参数 filter - 文件名过滤器 返回值 该方法返回抽象路径名数组,表示在目录中此抽象路径名表示,满足指定过滤器的

Java IO流(第二讲):File类

File是基于磁盘操作的I/O,Java多数IO都是实行流式操作,但是File不是,它不会读取文件信息或者向文件存储,它是直接处理文件的,它不会读取文件信息或者向文件存储,File对象可以用来获取或处理与磁盘文件相关的信息,例如权限,时间,日期和目录路径.File类的名字比较欺骗性,它其实并不仅仅代表一个特定文件名字,也可以代表文件目录下一系列文件名,用File存储数据存在很大的安全性,但是文件仍是我们存储数据以及共享数据的主要工具. 下面我们来解读File类在Java中的运用方式. 首先,我们

Java File类学习笔记2:File类对象及常用操作方法

一. 文件.相对路径与绝对路径 1.文件 (1)标准文件:就像图片,音乐文件等. (2)目录文件:也就是平常所说的文件夹. (3)虚拟内存文件:系统在运行程序时生成的临时性文件. 2.文件的路径 (1)相对路径:相对于某一文件的路径,形象地说是把两文件的绝对路径相同的部分砍掉,剩下的就是相对路径 如: A文件是"D:\MyDocuments\StudySample\src\cn\xmh", B文件是"D:\MyDocuments\StudySample\src\netjava