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接口,那麼這個類建立的對象就是序列化的對象。 ③使用對象流把一個對象寫入到文件時不只保證該對象是序列化的,並且該對象的成員對象也必須是序列化的。