1 为什么需要java转换流
- 当我们使用FileReader读取数据时候读取数据的时候不能制定编码方式
- 当我们使用FileWriter写入数据的时候不能指定编码方式
- 引入InputStreamReader类,它可以将InputStream转化为Reader在这个过程中可以实现改变编码方式
- 引入OutputStreamWriter类,它可以将OutStream类转化为Writer类,这期间可以改变编码方式。
2 示例
- InputStreamReader
public class InputStreamReader_ {
public static void main(String[] args) throws IOException {
String filePath = "e:\\a.txt";
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(filePath), "gbk"));
String s = br.readLine();
System.out.println("读取内容=" + s);
br.close();
}
}
- OutputStreamWriter
public class OutputStreamWriter_ {
public static void main(String[] args) throws IOException {
String filePath = "e:\\hsp.txt";
String charSet = "utf-8";
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(filePath), charSet);
osw.write("hi, 韩顺平教育");
osw.close();
System.out.println("按照 " + charSet + " 保存文件成功~");
}
}