第十周课程总结
一、字节流和字符流
IO操作的响应步骤:
(1)首先使用File类打开一个文件
(2)通过字节流或字符流的子类,指定输出的位置
(3)进行读/写操作
(4)关闭输入/输出
IO操作属于资源操作,在操作完毕后必须关闭,否则可能会出现未知错误
二、字节流
1.字节流操作的是byte类型的数据。所有的数据基本上都可以用byte数组表示出来
2.OutputStream是字节输出流的最大父类,在操作的时候如果文件不存在,则会为用户创建新文件
三、字符流
1.字符流操作的是字符
2.Writer类,和OutputStream相比,Writer更加方便,因为不用把想要输出的字符转换成byte
四、字节流和字符流的区别
1.字节流在操作的时候本身是不会用到缓存区(内存)的,是与文件本身直接操作的,而字符流在操作的时候是使用到缓冲区的
2.字符流在操作时,操作内容会先保存在缓冲区,只有刷新缓冲区的时候才能输出相应的操作
五、开发中的使用
字符只有在内存中才会形成,所以最好使用字节流操作文件
六、字节流和字符流之间的转换
1.OutputStreamWriter是Writer的子类,是把字符流的输出对象转化为字节流对象
3.FileWriter不是Writer的子类,而是转换流OutputStreamWriter的子类
5.传输或者是从文件中读取数据的时候,文件里真正保存的数据永远是字节
七、管道流
八、打印流、
字节流PrintStream,字符流PrintWriter。PrintStream可以指定输出位置
printStream可以方便的完成输出的功能,属于装饰设计模式
九、System对IO的三种支持
System.Out, System.in, System.err
System.Out是希望用户看到的
System.err是不希望用户看到的
输入输出重定向