字符流与字节流的区别(转载) Java 流在处理上分为字符流和字节流
字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组
Java 内用 Unicode 编码存储字符,字符流处理类负责将外部的其他编码的字符流和 java 内 Unicode 字符流之间的转换
而类 InputStreamReader 和 OutputStreamWriter 处理字符流和字节流的转换
字符流(一次可以处理一个缓冲区)一次操作比字节流(一次一个字节)效率高
( 一 )以字节为导向的 stream------Inpu tStream/Ou tpu tStream InputStream 和 OutputStream 是两个 abstact 类,对于字节为导向的 stream 都扩展这两个鸡肋(基类 ^_^ ) ; 1、 InputStream 1
1 ByteArrayInputStream -- 把内存中的一个缓冲区作为 InputStream 使用
construct--- (A)ByteArrayInputStream(byte[]) 创建一个新字节数组输入流( ByteArrayInputStream ),它从指定字节数组中读取数据( 使用 byte 作为其缓冲区数组) (B)---ByteArrayInputStream(byte[], int, int) 创建一个新字节数组输入流,它从指定字节数组中读取数据
---mark:: 该字节数组未被复制
2 StringBufferInputStream -- 把一个 String 对象作为 InputStream
construct--- StringBufferInputStream(String) 据指定串创建一个读取数据的输入