JAVA二进制I/O——《java程序设计语言》
什么是二进制文件:文本文件是由字符序列构成 的,而二进制文件是由位(bit) 序列构成的。例如,十进制整数 199 在文本文件中是以三个 字符序列 ‘1’、‘9’、 ’ 9’来存储的,而在二进制文件中它是以字节类型的值 C7 存储的,因为十 进制数 199 等价的十六进制数是 C7( 199 = 12 x 16 ^ 7)。二进制文件的优势在于它的处理效 率比文本文件高。
什么是字节:一个字节表示一个整数值,无符号字节大小为[0,255]。
二进制I/O类:
DatalnputStream 从数据流读取字节,并且将它们转换为合适的基本类型值或字符串。 DataOutputStream 将基本类型的值或字符串转换为字节,并且将字节输出到数据流。
UTF - 8 是一种编码方案,它允许系统可以同时操作统 一码及 ASCII 码。大多数操作系统使用 ASCII 码,Java 使用统一码。ASCII 码字符集是统 — 码字符集的子集。由于许多应用程序只需要 ASCII 码字符集,所以将 8 位的 ASCII 码表 示为 16 位的统一码是很浪费的。
创建 DatalnputStream 类和 DataOutputStream 类
使用下面的构造方法来创建 DatalnputStream 类和 DataOutputStream
public DataInputStream(InputStream instream)
public DataOutputStream(OutputStream outstream)
ObjectlnputStream 类:
DatalnputStream 类和 DataOutputStream 类可以实现基本数据类型与字符串的输人和 输出。而 ObjectlnputStream 类和 ObjectOutputStream 类除了可以实现基本数据类型与 字符串的输人和输出之外,还可以实现对象的输人和输出。由于 ObjectlnputStream 类和 ObjectOutputStream 类包含 DatalnputStream 类和 DataOutputStream 类的所有功能,所 以,完全可以用 ObjectlnputStream 类和 ObjectOutputStream 类代替 DatalnputStream 类和 DataOutputStream 类。
RandomAccessFile 类:
允许从文件的任何位置进行数据的读写。Java 提供了 RandomAccessFile 类,允许在文件的任意 位置上进行读写。使用 RandomAccessFile 类打开的文件称为随机访问文件。