12, IO 总结
1,
Java IO 各种间的继承关系图
2, 在 Java 中使用
File 类表示文件自己,能够直接用该类完成文件的建立,删除等操做。
3, RandomAccessFile 类能够从指定的位置开始读取信息,可是要求文件中各个数据的保存长度必须固定。
4, 输入/输出流, 字节流 : OutputStream, InputStream(未用到缓冲区)。字符流 : Writer, Reader (使用到缓冲区)
5, 在 IO 包中,能够使用 OutputStreamWriter 和 InputStreamReader 完成字符流与字节流之间的转换操做
6, 使用 ByteArrayInputStream 和 ByteArrayOutputStream 类 能够对内存进行输入/输出操做
7, 在线程之间进行输入/输出操做,主要使用 PipedOutputStream 和 PipedInputStream 类
8, 在 IO 中输出,使用打印流 (PrintStream, PrintWriter),能够方便的输出各类类型的数据。
9, System 类提供了 3 个支持 IO 操做的常量。即 : out, err, in
System.out, System.err, System.in, -- setOut, setIn, setErr
10, BufferReader 能够直接从缓冲区中读取数据
11, Scanner 类,能够方便地进行输入流操做
12, 数据操做流提供了与平台无关的数据操做, 主要 : DataOutputStream 和 DataInputStream
13, 使用合并流 (SequenceInputStream) 能够将两个文件的内容进行合并
14, 其余 : 压缩流, 回退流,
15, 形成乱码的根本缘由在于 : 程序编码 与 本地编码 的不统一
16, 对象序列化能够将内存中的对象转化为二进制数据,但对象所在的类必须实现 Serializable 接口。transient,此属性内容不会被序列化 17, 对象的输入输出主要使用 ObjectInputStream 和 ObjectOutputStream 类。