Java文件I/O(NIO.2):Path接口与Files类的使用
1. Java文件I/O概述
Java提供了丰富的API来操作文件和目录。Java 7引入了一组称为NIO.2的I/O API,为文件系统操作提供了便捷的方式。在Java 8中,还可以将Stream API与NIO.2结合使用。
文件系统通常呈树状结构,从根目录开始,根目录包含文件和子目录,每个子目录又可以包含更多的子目录或文件。要定位一个文件,需要将从根目录到包含该文件的直接目录的所有目录名以及文件分隔符和文件名组合起来。例如,如果 myfile.txt
文件位于 mydocs
目录中,而 mydocs
目录位于根目录 C:\
下,那么该文件的路径就是 C:\mydocs\myfile.txt
。
路径可以分为绝对路径和相对路径:
- 绝对路径从根元素开始,如 C:\mydocs\myfile.txt
。
- 相对路径是相对于当前选定目录的路径,例如在编译Java程序时,使用 javac programFileName.java
,这里的 programFileName.java
就是相对于当前目录的相对路径。相对路径需要一个参考路径(如当前目录路径)来解释。
此外,还有一种特殊的路径形式——符号链接,它类似于指向实际文件的指针或引用。一般来说,应用程序对符号链接是透明的,即操作直接作用于实际文件而非链接本身(当然,除了特定的符号链接操