1. 程式人生 > >Java IO 匯入匯出TXT檔案

Java IO 匯入匯出TXT檔案

1、位元組流

使用位元組緩衝區

  1. 將資料寫到TXT中
public void IOTest() throws IOException
{
    String str = "你好,世界";
    FileOutputStream fos = new FileOutputStream("d:" + File.separator + "test.txt");
    fos.write(str.getBytes("UTF-8"));    //將字串變成位元組byte陣列,使用UTF-8編碼
    fos.close();
}
  1. 將TXT匯入到記憶體
    FileInputStream fis = new FileInputStream("d:" + File.separator + "test.txt");
    byte[] buf = new byte[1024];
    int len;    //用於記錄讀取的資料個數
    String myStr = "";
    while((len = fis.read(buf)) != -1)    //將內容讀到byte陣列中,同時返回個數,若為-1,則內容讀到底
    {
        myStr += new String(buf, 0, len, "UTF-8");
    }

2、字元流

使用位元組緩衝區

  1. 將資料寫到TXT中
    FileWriter fw = new FileWriter("d:" + File.separator + "test.txt");
    fw.write(str);
    fw.close();
  1. 將TXT匯入記憶體中
    FileReader fr = new FileReader("d:" + File.separator + "test.txt");
    char[] buf2 = new char[1024];
    int len2 = fr.read(buf2);    //用於記錄讀取的資料個數
    String myStr2 = new String(buf2, 0, len2);    //將緩衝區buf2陣列中的0到len2字串讀出
    System.out.println(myStr2);

不使用字元緩衝區

不使用位元組緩衝區

  1. 將資料寫到TXT中
    PrintWriter pw = new PrintWriter("d:" + File.separator + "test.txt", "UTF-8");
    pw.write(str);
    pw.close();
  1. 將TXT匯入記憶體中
    BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("d:" + File.separator + "test.txt"), "UTF-8"));
    String myStr3 = br.readLine();
    br.close();
    System.out.println(myStr3);