資源描述:
《javaio文件輸入輸出流總結》由會員上傳分享,免費在線閱讀,更多相關內容在應用文檔-天天文庫。
1、文件輸入與輸出以流的形式進行,同時根據(jù)內容不同分為字節(jié)和字符兩種字節(jié)流的讀取與寫入讀取步驟:File→FileInputStream→f.read(bytes)寫入步驟:File→FileOutputStream→f.write(bytes)演示:讀取字節(jié)文件即把字節(jié)從文件讀到內存中Filef=null;//定義文件類的變量,并為空f=newFile(“”);//給變量賦值,表明指向某個文件因為File沒有讀寫的能力,所以需要用個InputStreamTry{FileInputStreamfis=null;//定義文件字節(jié)輸入流變量fis=newFileInputStre
2、am(f);//給其賦值,指向目標文件Byte[]bytes=newbyte[1024];//定義數(shù)組,把字節(jié)流的字節(jié)讀到數(shù)組中,相當于緩存Intn=0;//記錄讀取的字節(jié)數(shù)While(n=fis.read(bytes)==-1){//以1024字節(jié)大小為單位每次讀取字節(jié),從fis字節(jié)流中,并放到bytes字節(jié)組中,讀取字節(jié)個數(shù)為零即讀到末尾,則返回數(shù)值-1.Strings=newString(bytes,0,n);//把字節(jié)轉換成字符串,0代表:轉換開始的下標;n代表:轉換字節(jié)的長度。System.out.println(s);//把字符串打印到顯示器上}}演示:寫入字
3、節(jié)文件即把字節(jié)從內存中寫道文件里Filef=null;f=newFile(“d:\ss.txt”);FileOutputSteamfos=null;Try{Fos=newFileOutputStrream(f);Strings=””;//定義空字符串Byte[]bytes=newbyte[1024];//定義字節(jié)數(shù)組,存儲轉換來的字符Fos.write(s.getBytes());//把String轉化為byte}舉例:圖片的拷貝即從一個磁盤拷貝到另一個磁盤;或從一個電腦到另一個電腦思路:先把圖片讀到內存,在寫入到某個文件里,因為圖片是二進制文件,則只能用字節(jié)流File
4、f1=newFile(“c:\a.jpg”);FileInputStreamfis=null;Fis=newFileInputStream(f1);Filef2=newFile(“d:\a.jpg”);FileOutputStreamfos=null;Fos=newFileOutputStream(f2);Bytebuf[]=newbyte[1024];Intn=0;//記錄實際讀到的字節(jié)數(shù)While((n=fis.read(buf))!==-1){//以buf的大小為單位讀取fis文件里的字節(jié),讀到內存buf字節(jié)組中。N代表一次讀的字節(jié)的個數(shù),當沒有讀到字節(jié)時,n的
5、返回數(shù)值是-1.Fos.write(buf);}字符的讀取和寫入文件字符流:FileReader→f.read(c);FileReader→BufferedReader→f.readLine();File→FileReader→BufferedReader→reader.readLine();同理:FileWeader→f.write(c);FileWeader→BufferedWriter→f.write();File→FileWeader→BufferedWriter→reader.write();文件讀取字符流對象FileReaderfr=null;//寫入到文件F
6、ileWriterfw=null;Try{Fr=newFileReader(“c:\test.txt”);//創(chuàng)建輸出對象Fw=newFileWriter(“d:\vvv.txt”);Intn=0;//記錄實際讀取的字符數(shù)Charc[]=newchar[1024];//定義字符數(shù)組,來存放從文件讀取的字符While((n=fr.read(c))!==-1){Strings=newString(c,0,n);//把字符數(shù)組轉換為字符串System.out.println(s);System.out.println(c);Fw.write(c);//將字符寫入到d盤指定的
7、文件}}第二種:BuffereReaderbr=null;bufferedWriterbw=null;Try{//先創(chuàng)建FileReader對象,然后再升級為bufferedReader//先通過FileReader找到文件,再轉成bufferedReaderFileReaderfr=newFileReader(“c:\test.txt”);Br=newbufferedReader(fr);//創(chuàng)建FileWriter對象FileWriterfw=newFileWriter(“d:”);Bw=newbufferedWrite