1、檔案寫入
類:
FileWriter繼承自Writer(字元流基類之一,另外一個為Reader)
方法:
writer(引數); 根據引數可以寫入字元、字元陣列、字元陣列中的一部分、整型、字串、字串中的一部分,拋IOException
flush(); 重新整理記憶體,把記憶體中的字元流寫入檔案
close(); 重新整理記憶體並關閉字元輸入流,丟擲IOException
import java.io.*; class Test { public static void main(String[] args) { //這是在jdk1.7引入的可以隱性的呼叫close()方法,FileWriter在建立時丟擲IOException try(FileWriter fileWriter = new FileWriter("Test.txt")) { fileWriter.write("你好"); } catch(Exception e) { e.printStackTrace(); } } } /*這是不用新方式寫,很繁瑣 FileWriter fileWriter = null; try() { fileWriter = new FileWriter("Test.txt"); fileWriter.write("你好"); } catch(Exception e) { e.printStackTrace(); } finally { try() { fileWriter.close(); } catch(Exception e) { e.printStackTrace(); } } */
注:FileWriter在建立時,若檔案存在,建立同名空檔案覆蓋之,若不存在建立,若想新增的話用一下構造方法
FileWriter fileWriter = new FileWriter("檔名", ture); 設定新增為true
2、檔案讀取
類:
FileReader 繼承自Reader, java.io包
方法:
read(引數); 可以讀取一個字元,也可以讀取字元陣列,也可以讀取字元陣列的一部分
close(); 關閉字元輸入流
程式碼舉例:
class Test { public static void main(String[] args) { //FileReader構造方法建立一個與所讀取檔案關聯的一個字元輸入流 try(FileReader fileReader = new FileReader("Test.txt")) { char[] charFile = new char[1024]; int charNum = fileReader.read(charFile); System.out.print(new String(charFile, 0, charNum)); } catch(IOException e) { e.printStackTrace(); } } }