一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Java讀寫文本文件

 OneDayDayUp 2014-07-07

Java IO系統(tǒng)里讀寫文件使用Reader和Writer兩個抽象類,Reader中read()和close()方法都是抽象方法。Writer中 write(),flush()和close()方法為抽象方法。子類應該分別實現他們。

Java IO已經為我們提供了三個方便的Reader的實現類,FileReader,InputStreamReader和BufferedReader。其中最重要的類是InputStreamReader, 它是字節(jié)轉換為字符的橋梁。你可以在構造器重指定編碼的方式,如果不指定的話將采用底層操作系統(tǒng)的默認編碼方式,例如GBK等。

FileReader讀txt文件例子

Java代碼  收藏代碼
  1. FileReader fr = new FileReader("D:/Test.txt");  
  2. int ch = 0;    
  3. while((ch = fr.read())!=-1 ){    
  4.     System.out.print( (char)ch );    
  5. }    

 其中read()方法返回的是讀取得下個字符。

InputStreamReader讀txt文件例子

Java代碼  收藏代碼
  1. InputStream is = new FileInputStream(new File("D:/Test.txt"));  
  2.         InputStreamReader fr = new InputStreamReader(is);  
  3.         int ch = 0;    
  4.         while((ch = fr.read())!=-1 ){    
  5.             System.out.print((char)ch);    
  6.         }    

 這和FileReader并沒有什么區(qū)別,事實上在FileReader中的方法都是從InputStreamReader中繼承過來的。 read()方法是比較好費時間的,如果為了提高效率,我們可以使用BufferedReader對Reader進行包裝,這樣可以提高讀取得速度,我們可以一行一行的讀取文本,使用 readLine()方法。

Java代碼  收藏代碼
  1. BufferedReader br = new BufferedReader(new FileReader("Test.txt")));  
  2. String data = br.readLine();//一次讀入一行,直到讀入null為文件結束  
  3. while( data!=null){  
  4.       System.out.println(data);  
  5.       data = br.readLine(); //接著讀下一行  
  6. }  
 
當你明白了如何用Reader來讀取文本文件的時候那么用Writer寫文件同樣非常簡單。有一點需要注意,當你寫文件的時候,為了提高效率,寫入的數據會先放入緩沖區(qū),然后寫入文件。因此有時候你需要主動調用flush()方法。

有讀就有寫,寫文本文件可以使用PrintWriter,FileWriter,BufferedWriter。
Java代碼  收藏代碼
  1. FileWriter fw = new FileWriter("D:/Test.txt");    
  2.         String s = "hello world";    
  3.         fw.write(s,0,s.length());    
  4.         fw.flush();    
  5.           
  6.         OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("D:/Test1.txt"));    
  7.         osw.write(s,0,s.length());    
  8.         osw.flush();    
  9.           
  10.         PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream("D:/Test2.txt")),true);    
  11.         pw.println(s);    
  12.           
  13.         fw.close();    
  14.         osw.close();    
  15.         pw.close();    
 如果想接著寫入某個文件。 聲明時FileWriter fw = new FileWriter("log.txt",true);加個true就可以了。
在寫個利用BufferedWriter例子,
Java代碼  收藏代碼
  1.               File file = new File("D:/Test.txt");  
  2. File dest = new File("D:/new.txt");  
  3. try {  
  4.     BufferedReader reader = new BufferedReader(new FileReader(file));  
  5.     BufferedWriter writer  = new BufferedWriter(new FileWriter(dest));  
  6.     String line = reader.readLine();  
  7.     while(line!=null){  
  8.         writer.write(line);  
  9.         line = reader.readLine();  
  10.     }  
  11.     writer.flush();  
  12.     reader.close();  
  13.     writer.close();  
  14. catch (FileNotFoundException e) {  
  15.     e.printStackTrace();  
  16. catch (IOException e) {  
  17.     e.printStackTrace();  
  18. }  
本文還有不足之處,會慢慢完善。

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    日本免费熟女一区二区三区| 激情丁香激情五月婷婷| 一二区不卡不卡在线观看| 国产又大又硬又粗又黄| 亚洲中文字幕高清视频在线观看| 开心五月激情综合婷婷色| 手机在线不卡国产视频| 国产主播精品福利午夜二区| 欧美乱视频一区二区三区| 国产日韩熟女中文字幕| 富婆又大又白又丰满又紧又硬| 日本乱论一区二区三区| 麻豆在线观看一区二区| 国产水滴盗摄一区二区| 中文字幕在线五月婷婷| 国产精品欧美激情在线| 欧美成人黄色一级视频| 99久久免费中文字幕| 91免费一区二区三区| 中文字幕久久精品亚洲乱码| 国产女性精品一区二区三区| 麻豆国产精品一区二区| 国产日韩熟女中文字幕| 精品久久综合日本欧美| 少妇一区二区三区精品| 国产日韩欧美在线亚洲| 韩国日本欧美国产三级| 免费观看潮喷到高潮大叫| 日本高清不卡一二三区| 99久久精品午夜一区二| 九九久久精品久久久精品| 国产又大又猛又粗又长又爽| 日韩欧美第一页在线观看| 午夜福利视频六七十路熟女| 亚洲一区二区三区免费的视频| 伊人久久五月天综合网| 搡老熟女老女人一区二区| 亚洲熟妇熟女久久精品| 亚洲国产精品久久精品成人| 国产在线一区中文字幕| 国产免费操美女逼视频|