目录
通过乱码问题引出转换流
import java.io.*;
public class CodeIssue {
public static void main(String[] args) throws IOException {
String fileName = "D:\\demo\\test\\code_issue.txt";
BufferedReader bufferedReader = new BufferedReader(new FileReader(fileName));
System.out.println(bufferedReader.readLine());
bufferedReader.close();
}
}
���ѽ
所以就引出了转换流。
InputStreamReader
java.lang.Object
java.io.Reader
java.io.InputStreamReader
public class InputStreamReader
extends Reader
练习
将字节流FileInputStream用gbk的编码格式包装成字符流InputStreamReader,接着再包装成BufferedReader。
import java.io.*;
public class BufferedReader_ {
public static void main(String[] args) throws IOException {
String fileName = "D:\\demo\\test\\code_issue.txt";
String charset = "gbk";
InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream(fileName), charset);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
System.out.println(bufferedReader.readLine());
bufferedReader.close();
}
}
你好呀
OutputStreamWriter
java.lang.Object
java.io.Writer
java.io.OutputStreamWriter
public class OutputStreamWriter
extends Writer
练习
将字节流FileOutputStream用utf8的编码格式包装成字符流OutputStreamWriter,对文件进行写入,按照gbk的格式。
import java.io.*;
public class OutputStreamWriter_ {
public static void main(String[] args) throws IOException {
String fileName = "D:\\demo\\test\\aa.txt";
String charset = "utf8";
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(new FileOutputStream(fileName), charset);
outputStreamWriter.write("你好,世界!");
outputStreamWriter.close();
}
}