原文地址:https://docs.oracle.com/javase/tutorial/essential/io/index.html
说明:每一个点都有一篇详细的文章与之对应,每翻译完一篇文章会更新对应的连接; 使用到的所有实例代码均基于java 8,并不会映入后续版本的增强功能!
IO基础教程:
本教程涵盖了java平台类中所使用到的IO基础。首先,关注IO流,这是一个极其强大的概念,它大大简化了IO操作。 这个教程也关注序列化,它使得程序可以将整个对象写入流中并再次读取它们。然后,这个教程将介绍IO和文件系统的相关操作,包括随机访问文件。
在IO Streams部分,大多数的类都被包含在java.io包中,在File IO部分,大多数的类则包含在java.nio.file包中
IO Streams
1,字节流:处理原始的二进制数据IO流
2,字符流:处理字符数据的I / O,自动处理和转换本地字符集
3,缓冲流:通过减少对本机API的调用次数来优化输入和输出
4,格式化读写:允许一个程序读写格式化文本
5,来源于命令行的IO:描述标准流和控制台对象
6,数据流:处理原始数据类型和字符串值的二进制I / O
7,对象流:处理对象的二进制IO
File IO(NIO.2)
1,什么是路径?解释文件系统中路径的概念
2,路径类:介绍java.nio.file包中的关键类
3,路径操作:查看处理语法操作的Path类中的方法
4,文件操作:介绍大多数文件IO方法的基本概念
5,检测文件或者目录:展示如何去检测文件是否存在以及它的深度
6,删除文件或者目录
7,复制文件或者目录
8,移动文件或者目录
9,元数据管理:解释如何读并设置文件的节点属性
10,读、写并创建文件:展示用于文件读写的流和通道方法
11,随机访问文件:展示如何以非顺序方式读写文件
12,创建并读取目录:包含操作目录的API规范,例如如何列举一个目录的内容
13,链接、符号或其他:涵盖特定于符号和硬链接的问题
14,文件树分析:展示如何递归地访问文件树中的每个文件和目录
15,查找文件:展示如何使用模式匹配查找文件
16,监控目录的变动:显示如何使用监视服务来检测在一个或多个目录中添加,删除或更新文件
17,其他有用的方法:涵盖更多无法在本教程中展示,却十分有用的方法
18,传统IO文件代码:显示如何使用Path功能,如果您使用java.io.File类的旧代码。提供了将java.io.File API映射到java.nio.file API的表
总结
java.io包涵盖了大多数程序中可以用来读取数据的类。很多类实现了序列化访问流。这个序列化访问流被分为两个组:一,读取字节流;二,读取Unicode字符。每一个序列化访问流都有一个规范,例如从一个文件进行读取,过滤数据为读写或者序列化一个对象。
java.nio.file包提供了很多强大的类去支持文件的IO操作。这些都是非常全面的API,但是,他们主要包括以下方面:
1,Path类具有操纵路径的方法
2,Files类具有用于文件操作的方法,例如移动,复制,删除以及用于检索和设置文件属性的方法
3,FileSystem类有多种方法来获取有关文件系统的信息