Java IO 读取/写入文件 中文乱码困难解决代码
2011-08-09 09:38
681 查看
读取: BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(File file) "UTF-8"));
写入: BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(File file) "UTF-8"));
不包BufferedWriter和BufferedReader一层也可以达到解决中文乱码困难目.
办法下面J2SE6中关于 InputStreamReader 和 OutputStreamWriter 缘故
*************************************************************
public class OutputStreamWriterextends Writer
OutputStreamWriter 字符流通向字节流桥梁:可解决指定 charset 将要写入流中字符编码成字节它解决字符集可以由名称指定或显式给定否则将接受平台默认字符集
每次调用 write() 办法都会导致给定字符(或字符集)上涨用编码转换器写入底层输出流之前得到这些字节将缓冲区中累积可以指定此缓冲区大小不过默认缓冲区对多数用途来说已足够大注意传递给 write() 办法字符没缓冲
为了获得最高效率可考虑将 OutputStreamWriter 包装到 BufferedWriter 中以避免频繁调用转换器例如:
Writer out
= new BufferedWriter(new OutputStreamWriter(System.out));
代理对 一个字符它由两个 char 值序列表示:高 代理项范围为 '\uD800' 到 '\uDBFF'后跟范围为 '\u数码相机00' 到 '\uDFFF' 低 代理项
错误代理元素 指后面不跟低代理项高代理项或前面没高代理项低代理项
此类总解决字符集默认替代序列 替代错误代理元素和不可映射字符序列如果需要更多地控制编码过程则应该解决 CharsetEncoder 类
*******************************************************************
public class InputStreamReaderextends Reader
InputStreamReader 字节流通向字符流桥梁:它解决指定 charset 读取字节并将其解码为字符它解决字符集可以由名称指定或显式给定或者可以接受平台默认字符集
每次调用 InputStreamReader 中一个 read() 办法都会导致从底层输入流读取一个或多个字节要启用从字节到字符效转换可以提前从底层流读取更多字节使其超过满足当前读取操作所需字节
为了达到最高效率可要考虑 BufferedReader 内包装 InputStreamReader例如:
BufferedReader in
= new BufferedReader(new InputStreamReader(System.in));
写入: BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(File file) "UTF-8"));
不包BufferedWriter和BufferedReader一层也可以达到解决中文乱码困难目.
办法下面J2SE6中关于 InputStreamReader 和 OutputStreamWriter 缘故
*************************************************************
public class OutputStreamWriterextends Writer
OutputStreamWriter 字符流通向字节流桥梁:可解决指定 charset 将要写入流中字符编码成字节它解决字符集可以由名称指定或显式给定否则将接受平台默认字符集
每次调用 write() 办法都会导致给定字符(或字符集)上涨用编码转换器写入底层输出流之前得到这些字节将缓冲区中累积可以指定此缓冲区大小不过默认缓冲区对多数用途来说已足够大注意传递给 write() 办法字符没缓冲
为了获得最高效率可考虑将 OutputStreamWriter 包装到 BufferedWriter 中以避免频繁调用转换器例如:
Writer out
= new BufferedWriter(new OutputStreamWriter(System.out));
代理对 一个字符它由两个 char 值序列表示:高 代理项范围为 '\uD800' 到 '\uDBFF'后跟范围为 '\u数码相机00' 到 '\uDFFF' 低 代理项
错误代理元素 指后面不跟低代理项高代理项或前面没高代理项低代理项
此类总解决字符集默认替代序列 替代错误代理元素和不可映射字符序列如果需要更多地控制编码过程则应该解决 CharsetEncoder 类
*******************************************************************
public class InputStreamReaderextends Reader
InputStreamReader 字节流通向字符流桥梁:它解决指定 charset 读取字节并将其解码为字符它解决字符集可以由名称指定或显式给定或者可以接受平台默认字符集
每次调用 InputStreamReader 中一个 read() 办法都会导致从底层输入流读取一个或多个字节要启用从字节到字符效转换可以提前从底层流读取更多字节使其超过满足当前读取操作所需字节
为了达到最高效率可要考虑 BufferedReader 内包装 InputStreamReader例如:
BufferedReader in
= new BufferedReader(new InputStreamReader(System.in));
相关文章推荐
- Java底层代码实现单文件读取和写入(解决中文乱码问题)
- Java IO读取文件中文乱码问题
- 【Java IO知识】读取中文乱码问题解决
- java web 利用 commons-fileupload-1.2 实现文件上传 解决 中文乱码& 非文件属性的读取
- 用java代码写xml文件时,出现中文乱码的解决方法
- Java读取properties配置文件时,中文乱码解决方法
- Java读取properties配置文件时,中文乱码解决方法
- Java IO读取文件中文乱码问题
- Java读取properties配置文件时,中文乱码解决方法
- JAVA本地读取文件,解决中文乱码问题
- Java读取properties配置文件时,中文乱码解决方法
- java读取.properties文件及解决中文乱码问题
- Java读取properties文件中文乱码问题的解决
- Java读取properties配置文件时,中文乱码解决方法
- Java读取properties文件中文乱码问题解决
- Java读取中文文件出现乱码解决过程
- Java IO读取文件中文乱码问题 (读写文件不错的通用写法)
- Java读取文件 解决中文乱码问题
- 【Java IO知识】读取中文乱码问题解决
- 解决Java读取properties文件中文乱码的问题