1.    输入流和输出流的作用:输入流把数据源中的数据依次读入到内存中;输出流把内存中的数据依次写到数据目的地。文件是最常见的数据源及数据目的地。

2.    字节输入流:InputStream类表示字节输入流,它的read()方法从数据源依次读取字节。FileInputStream类是InputStream的一个具体子类,从文件读取字节。

3.    过滤输入流:FilterInputStream类为过滤输入流,能扩展输入流的功能。FilterInputStream类有以下子类,分别用来为输入流增加某一种功能:

(1)         BufferedInputStream:利用缓冲区来提高读效率。

(2)         DataInputStream:可以按照与操作系统平台无关的方式从流中读取基本类型(intchardouble等)的数据。

4.    字节输出流:OutputStream类表示字节输出流,它的write()方法向数据目的地依次写字节。FileOutputStream类是OutputStream的一个具体子类,向文件中写字节。

5.    过滤输出流:FilterOutputStream类为过滤输出流,能扩展输出流的功能。FilterOutputStream类有以下子类,分别用来为输出流增加某一种功能:

(1)         DataOutputStream:可以按照与操作系统平台无关的方式向流中写基本类型(intchardouble等)的数据。

(2)         BufferedOutputStream:利用缓冲区来提高写效率。

(3)         PrintStream:用于产生格式化输出。

6.    字符输入流:Reader类表示字符输入流,它的read()方法从数据源依次读取字符。假定数据源的字符采用本地操作系统的默认字符编码,Reader类能够正确识别这些字符,并且在内存中用Unicode字符编码来表示这些字符。FileReader类是Reader类的一个具体子类,从文件中读取字符。

7.    InputStreamReader类:能根据特定的字符编码,来读取输入流中的字符。假定test.txt文件的字符采用的字符编码为“UTF-8”,以下代码创建的InputStreamReader对象能正确读取test.txt文件的内容:

FileInputStream in1 = new FileInputStream(“C:\\test.txt”);
InputStreamReader in2 = new InputStreamReader(in1,”utf-8”);

8BufferedReader

BufferedReader利用缓冲区来提高读效率,用于装饰其他的Reader类。BufferedReaderreadLine()方法可以一次读入一行字符,以字符串形式返回,如果读到文件末尾,就返回null.

9.字符输出流

Writer类表示字符输出流,它的write()方法向数据目的地依次写字符。假定数据目的地的字符采用本地操作系统的默认字符编码,Write类能够把内存中采用Unicode字符编码的字符转换为本地操作系统的默认字符编码,再把它们写到数据目的地。FileWriter类是Writer类的一个具体子类,向文件中写字符。

10.OutputStreamWriter

能根据特定的字符编码,向输出流写字符。假定test.txt文件的字符采用的字符编码为“utf-8”,以下代码创建的OutputStreamWriter对象能正确向test.txt文件写字符:

FileOutputStream out1 = new FileOutputStream(“C:\\test.txt”);
OutputStreamWriter out2 = new OutputStreamWriter(out1,”utf-8”);

11.PrintWriter

能够输出格式化的数据。PrintWriter的写数据的方法都以print开头,比如(1printString s)向输出流写入一个String类型的数据。(2printlnString s)向输出流写入一个String类型的数据和换行符。

12.RandomAccessFile

该类不属于流,它具有随机读写文件的功能,能从文件的任意位置开始执行读写操作。

13.File

File类提供了管理文件或目录的方法。File实例表示真实文件系统中的一个文件或者目录。File类可用来查看文件或目录的信息,还可以创建或删除文件和目录。