常用于解决字符流读写时的中文乱码现象
乱码原因: 由于保存时使用的码表和打开时使用的码表不一致造成的。
**java.io.OutputStreamWriter
**写出流转换
继承关系:
java.io.Writer
java.io.OutputStreamWriter
**java.io.InputStreamReader
**读取流转换
继承关系:
java.io.Reader
java.io.InputStreamReader
方法 | 说明 |
---|---|
OutputStreamWriter(OutputStream out,String charsetName) | charsetName是指定编码格式的字符串, 例如UTF-8, ISO-8859-1, GBK等 |
try {
String path = "D:\\DEV\\eclipse\\workspace\\day14\\test.txt";
// 1. 提供字节流
OutputStream out = new FileOutputStream(path);
// 2. 提供字符流 -- 字符流的参数也需要是字符流
// 但是只有字节流, OutputStreamWriter可以把字节流转为字符流
Writer out2 = new BufferedWriter(
// 写出时指定编码
new OutputStreamWriter(out,"ISO-8859-1")
);
out2.write("大家好, 我叫渣渣辉");
// 3. 释放资源
out2.close();
} catch (IOException e) {
e.printStackTrace();
}
方法 | 说明 |
---|---|
InputStreamWriter(InputStream out,String charsetName) | charsetName是指定编码格式的字符串, 例如UTF-8, ISO-8859-1, GBK等 |
略, 和OutputStreamWriter
的使用类似, 可以参考上面的实例
原文:https://www.cnblogs.com/zpKang/p/12917768.html