天天看点

[Java 12 IO] IO 总结

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 类。