字符流/字符流/编码
为什么会出现字符流【理解】 字符流的介绍 由于字节流操作中文不是特别的方便,所以Java就提供字符流 字符流 = 字节流 + 编码表 中文的字节存储方式 用字节流复制文本文件时,文本文件也会有中文,但是没有问题,原因是最终底层操作会自动进行字节拼接 成中文,如何识别是中文的呢? 汉字在存储的时候,无论选择哪种编码存储,第一个字节都是负数
字符串中的编码解码问题【应用】 方法名 说明 byte[] getBytes() 使用平台的默认字符集将该 String编码为一系列字节 byte[] getBytes(String charsetName) 使用指定的字符集将该 String编码为一系列字节 String(byte[] bytes) 使用平台的默认字符集解码指定的字节数组来创建字符串 String(byte[] bytes, String charsetName) 通过指定的字符集解码指定的字节数组来创建字符串

字符流中的编码解码问题【应用】 字符流中和编码解码问题相关的两个类 InputStreamReader:是从字节流到字符流的桥梁 它读取字节,并使用指定的编码将其解码为字符 它使用的字符集可以由名称指定,也可以被明确指定,或者可以接受平台的默认字符集 OutputStreamWriter:是从字符流到字节流的桥梁 是从字符流到字节流的桥梁,使用指定的编码将写入的字符编码为字节 它使用的字符集可以由名称指定,也可以被明确指定,或者可以接受平台的默认字符集 方法名 说明 InputStreamReader(InputStream in) 使用默认字符编码创建InputStreamReader对 象 InputStreamReader(InputStream in,String chatset) 使用指定的字符编码创建InputStreamReader 对象 OutputStreamWriter(OutputStream out) 使用默认字符编码创建OutputStreamWriter对 象 OutputStreamWriter(OutputStream out,String charset) 使用指定的字符编码创建OutputStreamWriter 对象

字符流写数据的5种方式【应用】 方法名 说明 void write(int c) 写一个字符 void write(char[] cbuf) 写入一个字符数组 void write(char[] cbuf, int off, int len) 写入字符数组的一部分 void write(String str) 写一个字符串 void write(String str, int off, int len) 写一个字符串的一部分 方法名 说明 flush() 刷新流,之后还可以继续写数据 close() 关闭流,释放资源,但是在关闭之前会先刷新流。一旦关闭,就不能再写数据

6字符流读数据的2种方式【应用】 方法名 说明 int read() 一次读一个字符数据 int read(char[] cbuf) 一次读一个字符数组数据

浙公网安备 33010602011771号