文件操作小結
java.io包提供大量的流類,其中InputStream,OutputStream,Reader和Writer類是最重要的四個抽象類。
InputStream類及其子類對象爲字節輸入流
OutputStream類及其子類對象爲字節輸出流
Reader類及其子類對象爲字符輸入流
Writer類及其子類對象字符輸出流
字節流即以字節爲單位傳輸的流
字符流即以字符爲單位傳輸的流
文件字節流FileInputStream和FileOutputStream
-
文件字節流指的是以字節爲單位操作文件
-
FileInputStream用來讀取文件
構造方法 說明 FileInputStream(String name); 通過文件名創建輸入流 FileInputStrea(File file); 通過文件創建輸入流 方法 作用 int read() 輸入流調用該方法從源中讀取單個字節的數據,該方法返回字節值(0~255之間的一個整數)。如果未讀出就返回-1。 int read(byte[] b) 輸入流調用該方法從源中試圖讀取b.length[]個字節到字節數組b中,返回實際讀取的字節數目。如果到達文件的末尾,則返回-1。 int read(byte[] b,int off,int len) 輸入流調用該方法從源中試圖讀取len個字節到字節數組b中,並返回實際讀取的字節數目。如果到達文件末尾,則返回-1。參數off指定從字節數組的某個位置開始存放讀取的數據 void close() 關閉輸入流 FileInputStream流順序的讀取文件,只要不關閉流,每次調用read方法就順序的讀取文件源中其餘的內容,直到讀到源的末尾或流被關閉(調用close方法,雖然程序結束時會自動關閉所有打開的流,但是顯式的關閉任何打開的流仍是一個好習慣)
-
FileOutputStream用來寫入文件
構造方法 說明 FileOutputStrea(String name); 通過文件名創建輸出流 FileOutputStream(File file); 通過文件創建輸出流 FileOutputStream(String name,boolean append); 通過文件名創建輸出流,創建時指定是否追加寫入(append=true or false) FileOutputStream(File file,boolean append); 通過文件創建輸出流,創建時指定是否追加寫入(append=true or false) 注意:
1.FileOutpueStream默認apend參數爲false,即默認覆蓋目標文件
2.FileOutputStream創建時當目標文件不存在時,會創建目標文件
方法 作用 void write(int n) 輸出流調用該方法向目的地寫入單個字節 void write(byte b[]) 輸出流調用該方法向目的地寫入一個字節數組 void write(byte b[],int off,int len) 輸出流調用該方法從指定字節數組中的off偏移量處取出len個字節寫到目的地 void close() 關閉輸出流
文件字符流FileReader和FileWriter
-
文件字節流即以字節爲單位操作文件
-
FileReader用來讀取文件
構造方法 FileReader(String filename) FileReader(File filename) -
FileWriter用來寫入文件
構造方法 FileWriter(String filename) FileWriter(File file) FileWriter(String filename,boolean append) FileWriter(File file,boolean append)