字符流:
字符输入流
Reader
字符输出流
Writer
Writer
OutputStreamWriter: 字符输出流 是以字节流加上编码表得到的一个转换流,后期写数据的时候可以根据自己指定的编码进行写入
public OutputStreamWriter(OutputStream out)
创建一个使用默认字符编码的OutputStreamWriter。根据默认的编码用字符作为桥梁将字节流的数据转换为字符流
public OutputStreamWriter(OutputStream out,String charsetName)
根据指定的编码用字符作为桥梁将字节流的数据转换为字符流
把字节流转化字符流
字符流 = 字节流 + 编码表
public class OutputStreamWriterDemo1 {
public static void main(String[] args) throws Exception {
//1、创建字符输出流对象
// OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("aaa.txt"));
// OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("bbb.txt"),"GBK");
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("ccc.txt"),"GBK");
osw.write("中国");
//释放资源
osw.close();
}
}
Reader
InputStreamReader: 字符输入流
public InputStreamReader(InputStream in)
读取数据,根据默认的编码用字符作为桥梁将字节流的数据转换为字符流
public InputStreamReader(InputStream in,String charsetName)
读取数据,根据指定的编码用字符作为桥梁将字节流的数据转换为字符流
public class InputStreamReaderDemo1 {
public static void main(String[] args) throws Exception {
// InputStreamReader isr = new InputStreamReader(new FileInputStream("bbb.txt"));
InputStreamReader isr = new InputStreamReader(new FileInputStream("ccc.txt"),"GBK");
//一次读取一个字符
int c = 0;
while ((c=isr.read())!=-1){
System.out.print((char) c);
}
//释放资源
isr.close();
}
}