介绍
字节流转字符流
InputStreamReader
构造方法:
public InputStreamReader(InputStream in)
public InputStreamReader(InputStream in,String charsetName)throws UnsupportedEncodingException
Code:
//这里我指定的字符编码是GBK,因为读取的文件编码是GBK,解码和编码要一致,否则会出现乱码
InputStreamReader isr = new InputStreamReader(new FileInputStream("C:b.txt"), "GBK");
char[] ch = new char[1024];
int n;
while ((n = isr.read(ch)) != -1) {
System.out.println(new String(ch, 0, n));
}
OutputStreamWriter
构造方法:
public OutputStreamWriter(OutputStream out)
public OutputStreamWriter(OutputStream out,String charsetName)throws UnsupportedEncodingException
Code:
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("C:\\Users\\maple\\Desktop\\itsourcejava\\xx\\a.txt"));
osw.write("今天天气很不错啊");
//必须要刷新缓存文件才有内容 也可以使用close方法,不仅会关闭流,关闭前也会刷新
osw.flush();