InputStreamReader
package file.InputStreamReader;
import java.io.*;
/*
* InputStreamReader解决中文乱码的问题
*将字节流FileInputStream转换成字符流InputStreamReader,指定编码gbk/utf-8
* */
public class InputStreamReader_ {
public static void main(String[] args) throws IOException {
String filepath = "d:\\news.txt";
//1.FileInputStream 转换成 InputStreamReader
//2.编码格式为gbk
//InputStreamReader isr = new InputStreamReader(new FileInputStream(filepath),"gbk");
//3.把InputStreamReader传入BufferedReader
//BufferedReader br = new BufferedReader(isr);
//通常2和3一块写
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(filepath),"gbk"));//gbk是指的编码格式
//4.读取
String s = br.readLine();
System.out.println("读取的内容"+s);
br.close();
}
}
OutputStreamReader
package file.OutputStreamWriter;
import java.io.*;
/*
* 字节流FileOutputStream包装成字符流OutputStreamWriter对文件进行写入
*(按照GBK格式,也可以知道指定其他的)
*/
public class OutputStreamWriter_ {
public static void main(String[] args) throws IOException {
String path = "d:\\a.txt";
String charSet = "gbk";
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(path),charSet);
osw.write("hi,丁学刚");
osw.close();
System.out.println("按照"+charSet+"编码格式,保存成功");
}
}