本教程针对JDK 8编写。本页描述的示例和实践不利用后续版本中引入的改进,并可能使用不再可用的技术。
有关Java SE 9及以后版本的更新语言功能的摘要,请参见Java语言变更。
有关所有JDK版本的新功能、增强功能和已删除或弃用选项的信息,请参见JDK发布说明。
注意:本教程反映了JDK 7版本引入的文件输入/输出机制。Java SE 6版本的文件输入/输出教程很简短,但您可以下载Java SE Tutorial 2008-03-14版本的教程,其中包含早期的文件输入/输出内容。
java.nio.file
包及其相关的java.nio.file.attribute
包提供了全面支持文件输入/输出和访问默认文件系统的功能。尽管API中有许多类,但您只需要关注其中几个入口点。您会发现这个API非常直观和易于使用。
教程首先讲解了路径是什么?然后介绍了包的主要入口点,即Path
类。解释了与语法操作相关的Path
类的方法。然后教程继续介绍了包中的另一个主要类,即Files
类,该类包含处理文件操作的方法。首先介绍了一些与许多文件操作相关的概念。然后教程介绍了用于检查、删除、复制和移动文件的方法。
教程展示了如何管理元数据,然后进入文件输入/输出和目录输入/输出。解释了随机访问文件以及符号链接和硬链接的特定问题。
接下来,介绍了一些非常强大但更高级的主题。首先演示了递归遍历文件树的功能,然后介绍了如何使用通配符搜索文件。接着解释并演示了如何监视目录的变化。然后,对一些无法归类的方法进行了介绍。
最后,如果您在Java SE 7发布之前编写了文件输入/输出代码,本教程提供了从旧API到新API的映射,以及对于希望利用新API而无需重写现有代码的开发人员来说,有关File.toPath
方法的重要信息。