一、NIO
1.1概述
- Java NIO(new IO,No-Blocking IO)是从Java1.4版本开始引入的一套新的IO API,可以替代标准的Java IO API。NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的(IO是面向流的)、基于通道的IO类。NIO将以更加高效的方式进行文件的读写操作。
- Java API中提供了两套NIO,一套是针对标准输入输出NIO,另一套就是网络编程NIO。
- |-----java.nio.channels.Channel
- FileChannel:处理本地文件
- SocketChannel:TCP网络编程的客户端的Channel
- ServerSocketChannel:TCP网络编程的服务器端的Channel
- DatagramChannel:UDP网络编程中发送端和接受端的Channel
- |-----java.nio.channels.Channel
- 随着JDK7的发布,Java对NIO进行了极大的扩展,增强了对文件处理和文件系统特性的支持,以至于我们称他们为NIO.2。
二、Path、Paths、Files
2.1概述
- NIO.2提供了Files、Paths工具类,Files包含了大量静态的工具方法来操作文件;Paths包含了2个返回Path的静态工厂方法。
三、Path接口
- Path可以看成是File类的升级版本,实际引用的资源可以不存在。
- Paths类提供的静态get()方法用来获取Path对象
- static Path get(String first,String .....more) 用于将多个字符串串连成路径
- static Path get(URI uri) 返回指定URI对应的path路径
常用方法
- String toString():返回调用Path对象的字符串表示形式
- boolean startsWith(String path):判断是否以path路径开始
- boolean endsWith(String path):判断是否以path路径结束
- boolean isAbsolute():判断是否是绝对路径
- Path getParent():返回Path对象包含整个路径,不包含Path对象指定的文件路径
- Path getRoot():返回调用Path对象的根路径
- Path getFileName():返回与调用Path对象关联的文件名
- int getNameCount():返回Path根目录后面元素的数量
- Path getName(int idx):返回指定索引位置idx的路径名称
- Path toAbsolutePath():作为绝对路径返回调用Path对象
- Path resolve(Path p):合并两个路径,返回合并后的路径对应的Path对象
- File toFile():将Path转化为File类的对象
四、Files
- 用于操作文件或目录的工具类
常用方法
- Path copy(Path src , Path dest,CopyOption ..)
...后续完善