IO流 p9 转换流-InputStreamReader 和 OutputStreamWriter,
分享于 点击 8727 次 点评:183
IO流 p9 转换流-InputStreamReader 和 OutputStreamWriter,
转换流-InputStreamReader 和 OutputStreamWriter
-
介绍
- InputStreamReader:Reader的子类,可以将InputStream(字节流)包装成Reader(字符流);
- OutputStreamWriter:Writer的子类,实现将OutputStream(字节流)包装成Writer(字符流);
- 当处理纯文本数据时,如果使用字符流效率更高,并且可以有效解决中文问题,所以建议将字节流转换成字符流;
- 可以在使用时指定编码格式(比如 utf-8,gbk,gb2312,ISO8859-1等),解决乱码问题;
-
InputStreamReader
代码演示:
import java.io.*;
/**
* @author: 86199
* @date: 2023/5/7 17:18
* @description: 演示使用 InputStreamReader 转换流解决中文乱码问题
* 将字节流 FileInputStream 转换成字符流 InputStreamReader,指定编码 gbk/utf-8
*/
public class InputStreamReader_ {
public static void main(String[] args) throws IOException {
String filePath = "e:\\a.txt";
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(filePath), "gbk"));
//读取
String s = bufferedReader.readLine();
System.out.println("读取内容 = " + s);
//关闭流
bufferedReader.close();
}
}
-
OutputStreamWriter
代码演示:
package com.hsp.transformation;
import java.io.*;
/**
* @author: 86199
* @date: 2023/5/7 17:31
* @description: 演示 OutputStreamWriter 使用,把FileOutputStream 字节流,转成OutputStreamWriter
* 指定处理的编码 gbk/utf-8/utf8
*/
public class OutputStreamWriter_ {
public static void main(String[] args) throws IOException {
String filePath = "e:\\test.txt";
String charSet = "utf8";
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(new FileOutputStream(filePath), charSet);
outputStreamWriter.write("只因你太美");
outputStreamWriter.close();
System.out.println("文件按照" + charSet + "保存成功");
}
}
相关文章
暂无相关文章
介绍
- InputStreamReader:Reader的子类,可以将InputStream(字节流)包装成Reader(字符流);
- OutputStreamWriter:Writer的子类,实现将OutputStream(字节流)包装成Writer(字符流);
- 当处理纯文本数据时,如果使用字符流效率更高,并且可以有效解决中文问题,所以建议将字节流转换成字符流;
- 可以在使用时指定编码格式(比如 utf-8,gbk,gb2312,ISO8859-1等),解决乱码问题;
InputStreamReader
代码演示:
import java.io.*;
/**
* @author: 86199
* @date: 2023/5/7 17:18
* @description: 演示使用 InputStreamReader 转换流解决中文乱码问题
* 将字节流 FileInputStream 转换成字符流 InputStreamReader,指定编码 gbk/utf-8
*/
public class InputStreamReader_ {
public static void main(String[] args) throws IOException {
String filePath = "e:\\a.txt";
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(filePath), "gbk"));
//读取
String s = bufferedReader.readLine();
System.out.println("读取内容 = " + s);
//关闭流
bufferedReader.close();
}
}
OutputStreamWriter
代码演示:
package com.hsp.transformation;
import java.io.*;
/**
* @author: 86199
* @date: 2023/5/7 17:31
* @description: 演示 OutputStreamWriter 使用,把FileOutputStream 字节流,转成OutputStreamWriter
* 指定处理的编码 gbk/utf-8/utf8
*/
public class OutputStreamWriter_ {
public static void main(String[] args) throws IOException {
String filePath = "e:\\test.txt";
String charSet = "utf8";
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(new FileOutputStream(filePath), charSet);
outputStreamWriter.write("只因你太美");
outputStreamWriter.close();
System.out.println("文件按照" + charSet + "保存成功");
}
}
相关文章
- 暂无相关文章
用户点评