如何在Java項(xiàng)目中利用字符流實(shí)現(xiàn)一個(gè)io編程?相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
創(chuàng)新互聯(lián)建站專注骨干網(wǎng)絡(luò)服務(wù)器租用十多年,服務(wù)更有保障!服務(wù)器租用,成都服務(wù)器托管 成都服務(wù)器租用,成都服務(wù)器托管,骨干網(wǎng)絡(luò)帶寬,享受低延遲,高速訪問。靈活、實(shí)現(xiàn)低成本的共享或公網(wǎng)數(shù)據(jù)中心高速帶寬的專屬高性能服務(wù)器。
案例1:
讀取一個(gè)文件并寫入到另一個(gè)文件中,char[] 來中轉(zhuǎn)。
首先要在E盤下創(chuàng)建一個(gè)文本文檔,命名為test.txt,輸入一些字符串。
public class Demo_5 { public static void main(String[] args) { FileReader fr=null; //文件取出字符流對象(輸入流) FileWriter fw=null; //寫入到文件(輸出流) try { fr=new FileReader("e:\\test.txt"); //創(chuàng)建一個(gè)fr對象 fw=new FileWriter("d:\\test.txt"); //創(chuàng)建輸出對象 char []c=new char[1024]; //讀入到內(nèi)存 int n=0; //記錄實(shí)際讀取到的字符數(shù) while((n=fr.read(c))!=-1){ //String s=new String(c,0,n); fw.write(c,0,n); } } catch (Exception e) { e.printStackTrace(); }finally{ try { fr.close(); fw.close(); } catch (Exception e) { e.printStackTrace(); } } } }
打開D盤的test.txt文件,出現(xiàn)相同的字符串。
案例2:為了提高效率引入了緩沖字符流
依然實(shí)現(xiàn)讀取一個(gè)文件并寫入到另一個(gè)文件中,直接操作String。
public class Demo_6 { public static void main(String[] args) { BufferedReader br=null; BufferedWriter bw=null; try{ FileReader fr=new FileReader("e:\\test.txt"); //先創(chuàng)建FileReader對象 br=new BufferedReader(fr); FileWriter fw=new FileWriter("d:\\test1.txt"); //創(chuàng)建FileWriter對象 bw=new BufferedWriter(fw); String s=""; while((s=br.readLine())!=null){ //循環(huán)讀取文件,s不為空即還未讀完畢 bw.write(s+"\r\n"); //輸出到磁盤,加上“\r\n”為了實(shí)現(xiàn)換行 } }catch(Exception e){ e.printStackTrace(); }finally{ try { br.close(); bw.close(); } catch (Exception e) { e.printStackTrace(); } } } }
打開D盤的test1.txt文件,出現(xiàn)相同的字符串。
總結(jié):字節(jié)流操作對象byte,字符流操作對象char,緩沖字符流操作對象String。
看完上述內(nèi)容,你們掌握如何在Java項(xiàng)目中利用字符流實(shí)現(xiàn)一個(gè)io編程的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!