目录:
Java NIO 学习笔记(一)----概述,Channel/Buffer
Java NIO 学习笔记(二)----聚集和分散,通道到通道
Java NIO 学习笔记(三)----Selector
Java NIO 学习笔记(四)----文件通道和网络通道
Java NIO 学习笔记(五)----路径、文件和管道 Path/Files/Pipe
Java NIO 学习笔记(六)----异步文件通道 AsynchronousFileChannel
Java NIO 学习笔记(七)----NIO/IO 的对比和总结
Path 接口和 Paths 类
Path 接口是 NIO2(AIO) 的一部分,是对 NIO 的更新,Path 接口已添加到 Java 7 中,完全限定类名是 java.nio.file.Path 。
Path 实例表示文件系统中的路径。 路径可以指向文件或目录,也可以是绝对的或相对的。在某些操作系统中,不要将文件系统路径与环境变量中的 path 路径相混淆。 java.nio.file.Path 接口与路径环境 path 变量无关。
在许多方面,java.nio.file.Path 接口类似于 java.io.File 类,但存在一些细微差别。 但在许多情况下,可以使用 Path 接口替换 File 类的使用。
创建 Path 对象
可以使用名为 Paths.get() 的 Paths 类(java.nio.file.Paths)中的静态方法创建 Path 实例,get()方法是 Path 实例的工厂方法,一个示例如下:
public class PathExample {     public static void main(String[] args) {         // 使用绝对路径创建         Path absolutePath = Paths.get("D:\\test\\1.txt");         // 使用相对路径创建         Path relativePath = Paths.get("D:\\test", "1.txt");         System.out.println(absolutePath.equals(relativePath)); // ture     } }注意路径分隔符在 Windows 上是“\”,在 Linux 上是 “/”。
Paths 类只有2个方法:
| 方法 | 描述 | 
|---|---|
| static Path get(String first, String... more) | 将路径字符串或在连接时形成路径字符串的字符串序列转换为路径。 | 
| static Path (URI uri) | 将给定URI转换为路径对象。 | 
Path 接口部分方法:
| 方法 | 描述 | 
|---|---|
| boolean endsWith(Path other) | 测试此路径是否以给定路径结束。 | 
| boolean equals(Object other) | 取决于文件系统的实现。一般不区分大小写,有时区分。 不访问文件系统。 | 
| Path normalize() | 返回一个路径,该路径消除了冗余的名称元素,比如'.', '..' | 
| Path toAbsolutePath() | 返回表示该路径的绝对路径的路径对象。 | 
| File toFile() | 返回表示此路径的 File 对象。 | 
| String toString() | 返回的路径字符串使用默认名称分隔符分隔路径中的名称。 | 
Files
NIO 文件类(java.nio.file.Files)为操作文件系统中的文件提供了几种方法,File 类与 java.nio.file.Path 类一起工作,需要了解 Path 类,然后才能使用 Files 类。
判断文件是否存在
                        
                        
                    