1. 输入流和输出流的作用:输入流把数据源中的数据依次读入到内存中;输出流把内存中的数据依次写到数据目的地。文件是最常见的数据源及数据目的地。
2. 字节输入流:InputStream类表示字节输入流,它的read()方法从数据源依次读取字节。FileInputStream类是InputStream的一个具体子类,从文件读取字节。
3. 过滤输入流:FilterInputStream类为过滤输入流,能扩展输入流的功能。FilterInputStream类有以下子类,分别用来为输入流增加某一种功能:
(1) BufferedInputStream:利用缓冲区来提高读效率。
(2) DataInputStream:可以按照与操作系统平台无关的方式从流中读取基本类型(int、char和double等)的数据。
4. 字节输出流:OutputStream类表示字节输出流,它的write()方法向数据目的地依次写字节。FileOutputStream类是OutputStream的一个具体子类,向文件中写字节。
5. 过滤输出流:FilterOutputStream类为过滤输出流,能扩展输出流的功能。FilterOutputStream类有以下子类,分别用来为输出流增加某一种功能:
(1) DataOutputStream:可以按照与操作系统平台无关的方式向流中写基本类型(int、char和double等)的数据。
(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”);
8.BufferedReader类
BufferedReader利用缓冲区来提高读效率,用于装饰其他的Reader类。BufferedReader的readLine()方法可以一次读入一行字符,以字符串形式返回,如果读到文件末尾,就返回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开头,比如(1)print(String s)向输出流写入一个String类型的数据。(2)println(String s)向输出流写入一个String类型的数据和换行符。
12.RandomAccessFile类
该类不属于流,它具有随机读写文件的功能,能从文件的任意位置开始执行读写操作。
13.File类
File类提供了管理文件或目录的方法。File实例表示真实文件系统中的一个文件或者目录。File类可用来查看文件或目录的信息,还可以创建或删除文件和目录。