一、字节流
1、字符输入流(InputStream)
2、字符输出流(OutputStream)
3、字节流和字符流的区别:
(1)字节流可以操作任何数据,字符流只能操作字符类型的数据(文本信息)
(2)字符流使用的是字符数组,字节流使用的是字节数组
二、 转换流的使用
//把字符数据写入到磁盘文件中
FileOutputStream fop = new FileOutputStream("res/dome2.txt");
//把字节流转换为字符流,转换流为:OutputStream
OutputStreamWriter osw = new OutputStreamWriter(fop);
//前两个等价于:FileWriter fw = new FileWriter();
//向指定文件中写入数据
osw.write("hello");
osw.write("中国");
osw.flush();
osw.close();
//把数据从指定的磁盘文件中输出
FileInputStream fis = new FileInputStream("res/dome2.txt");
InputStreamReader isr = new InputStreamReader(fis);
char cb[] = new char[10];
int len=isr.read(cb);
System.out.println(new String(cb,0,len));
补充:FileOutputStream fop = new FileOutputStream("res/dome2.txt"); OutputStreamWriter osw = new OutputStreamWriter(fop);
以上两行代码等价于:
new FileWriter fw = new FileWriter(“res/dome2.txt”);
不同的是因为上者可以改变编码方式,改变编码的实例为:
OutputStreamWriter osw = new OutputStreamWriter(fop,’UTF-8’);
系统默认的字符编码为:JBK,只有当输入的和输出的字符编码不一样的时候,才不会出现乱码,如果不用则会出现乱码。