第十周课程总结

字节流与字符流在Java中io操作步骤如下:
1通过File类打开一个文件 。
2通过字节流或字符流的子类指定输出位置。
3经行读写操作。
4关闭输入输出。
字节流:
字节流以操作byte类型数据为主,主要操作类为OutputStream类和InputSream类。
字节输出流OutputStream是整个IO包中字节输出流最大父类,其操作方法见书P380 表12-3。
字节输入流InputSream为抽象类,需依靠子类,其主要方法见书p384 表12-4。
字符流:
字符输出流Writer本身也是个抽象类,常用方法见书p388 表12-5。
字符输入流Reader是用字符的方法从文件中取出数据,它也是个抽象类,常用方法见书p390 表12-6。
字节流和字符流除了操作代码不同外,字符流还比字节流多出缓存区。
字节流在操作的时候本身是不会用到缓冲区的,是与文件本身直接操作的,而字符流在操作的时候是使用到缓冲区的。
字节流在操作文件时,即使不关闭资源,文件也能输出,但是如果字符流不使用close方法的话,则不会输出任何内容。
字符流的缓冲区,可以使用flush方法强制进行刷新缓冲区,这时可以在不close的情况下输出内容。
字节-字符转换流
OutputStreamWriter和InputStreamReader
在整个IO包中除了这两个流之外,还存在字节流-字符流的转换类。
OutputStreamWriter:是Writer的子类,将输出的字符流转换为字节流。即:将一个字节流的输出对象变为字节流的输出对象 
InputStreamReader:是Reader的子类,将输入的字节流变为字符流,即:将一个字节流的输入对象变为字符流的输入对象。
在构造方法中,如果将append的值设置为true,则表示在文件的末尾追加内容。
FileInputStream 常用的构造方法主要有如下两种重载形式。
FileInputStream:通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的 File 对象 file 指定。
FileInputStream:通过打开一个到实际文件的链接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。
要格式化输出: PrintStream, PrintWriter
flush():刷新缓冲区
close(): 关闭流对象,先刷新,再关闭
转换流:
OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码成字节,将字符串按照指定的编码表转成字节,在使用字节流将这些字节写出去。
内存流
字节数组:
ByteArrayInputStream
ByteArrayOutputStream
字符数组
CharArrayReader
CharArrayWriter
字符串
StringReader
StringWriter
管道流
PipedOutputStream和PipedInputStream分别是管道输出流和管道输入流。这个两个流必须同时使用。
打印流:

打印流为输出信息最方便的类,其包括PrintStream类和PrintWriter类。

其中PrintStream类常用方法见书p403 12-9
System类当中的方法:
punlic static final PrintSystem.in:标准的输入 一般是键盘录入
punlic static final PrintSystem.out:标准的输出 一般是输出到显示器。 

punlic static final PrintSystem.err:错误信息输出

原文地址:https://www.cnblogs.com/wangdian1/p/11777844.html