1.I/O流库提供的四个重要的abstract类数组
前二者为其子类提供了重要的读取数据的read()方法,后二者为其子类提供了重要的写入数据的write()方法。app
2.文件spa
建立一个File对象的构造方法有:对象
filename是文件名字,directory Path是文件的路径,f是一个目录。继承
使用第一种构造方法建立文件时,文件被认为时与当前应用程序再同一目录下。接口
3.文件字节流字符串
1):FileInputStream类是InputStream类的子类,称为文件字节输入流,按字节读取文件中的数据。该类的全部方法都是从InputStream类继承来的。it
构造方法:object
构造方法参数指定的文件称为输入流的源,输入流经过使用read()方法从输入流读出源中的数据。file
read方法的形式:
注:FileInputStream流顺序地读取文件,只要不关闭流,每次调用read()方法就顺序地读取文件中其他地内容,知道文件的末尾或流被关闭。故在不使用的时候应该调用.close()关闭流。
2):FileOutputStream提供了基本的文件写入能力,是OutputStream的子类,称为文件字节输出流。文件字节输出流按字节将数据写入到文件中。
构造方法:
输出流使用write()方法把数据写入输出流到达目的地。
注:只要不关闭流,每次调用write()方法就顺序地像文件写入内容,直到流被关闭。
4.文件字符流
1):FileReader类是Reader的子类,称为文件字符输入流。文件字符输入流按字符读取文件中的数据。
构造方法:
构造方法参数指定的文件称为输入流的源,输入流经过使用read()方法从输入流独处源中的数据。
2)FileWrite类:
FileWrite提供了基本的文件写入能力。FileWrite类是Write的子类,称为文件字符输出流。文件字符输出流按字符将数据写入到文件中。
构造方法:
构造方法参数指定的文件称为输出流的目的地。输出流使用write()方法把数据写入输出流到目的地。
只要不关闭流,每次调用write()方法就顺序地向文件写入内容,直到流被关闭。
5.缓冲流
1)BufferedReader类
BufferedReader类建立的对象称为缓冲输入流,该输入流的指向必须是一个Reader流,称为BufferedReader流的底层流,底层流负责将数据读入缓冲区。 BufferedReader流的源就是这个缓冲区,缓冲输入流再从缓冲区中读取数据。
能够将BufferedReader与FileReader链接,而后BufferedReader就能够按行读FileReader指向的文件。BufferedReader的构造方法以下:
BufferedReader(Reader in) BufferedReader流可以读取文本行,方法是 readLine() 能够向BufferedReader传递一个Reader对象(如FileReader的实例)来建立一个BufferedReader对象:
FileReader inOne=new FileReader("Student.txt")
BufferedReader inTwo=new BufferedReader(inOne); 而后inTwo调用readLine()顺序读取文件“Student.txt”的一行。
2)BufferedWriter类
能够将BufferedWriter流和FileWriter流链接在一块儿,而后使用BufferedWriter流将数据写到目的地。
FileWriter流称为BufferedWriter的底层流,BufferedWriter流将数据写入缓冲区,底层流负责将数据写到最终的目的地。例如,
FileWriter tofile=new FileWriter("hello.txt");
BufferedWriter out=new BufferedWriter(tofile);
BufferedReader流调用方法:
write(String str)
write(String s,int off,int len) 把字符串s或s的一部分写入到目的地。 BufferedWriter调用newLine()方法,能够向文件写入一个回行,调用flush()能够刷新缓冲区。
6.缓冲流
ObjectInputStream类和ObjectOutputStream类建立的对象被称为对象输入流和对象输出流。构造方法:
ObjectInputStream(InputStream in)
ObjectOutputStream(OutputStream out)
对象输出流使用writeObject(Object obj)方法将一个对象obj写入输出流送往目的地,对象输入流使用readObject()从源中读取一个对象到程序中。
将一个对象写入到文件时,首先用FileOutputStream建立一个文件输出流,以下所示:
FileOutputStream file_out=new FileOutputStream("tom.txt"); ObjectOutputStream object_out=new ObjectOutputStream(file_out);
准备从文件中读入一个对象到程序中时,首先用FileInputStream建立一个文件输入流,以下所示:
FileInputStream file_in=new FileInputStream("tom.txt");
ObjectInputStream object_in=new ObjectInputStream(file_in);
注:①当咱们使用对象流写入或读入对象时,要保证对象是序列化的。 ②一个类若是实现了Serializable接口,那么这个类建立的对象就是序列化的对象。 ③使用对象流把一个对象写入到文件时不只保证该对象是序列化的,并且该对象的成员对象也必须是序列化的。