1. 程式人生 > 實用技巧 >JAVA檔案和I/O

JAVA檔案和I/O

package com.xuexi;

import java.io.*;

public class Io2 {
public static void main(String[] args) throws IOException {
// FileOutputStream
// 該類用來建立一個檔案並向檔案中寫資料。
//
//如果該流在開啟檔案進行輸出前,目標檔案不存在,那麼該流會建立該檔案。
//
//有兩個構造方法可以用來建立 FileOutputStream 物件。
//
//使用字串型別的檔名來建立一個輸出流物件:
File f = new File("a.txt");
FileOutputStream fop = new FileOutputStream(f);
// 構建FileOutputStream物件,檔案不存在會自動新建

OutputStreamWriter writer = new OutputStreamWriter(fop, "UTF-8");
// 構建OutputStreamWriter物件,引數可以指定編碼,預設為作業系統預設編碼,windows上是gbk

writer.append("中文輸入");
// 寫入到緩衝區

writer.append("\r\n");
// 換行

writer.append("English");
// 重新整理快取衝,寫入到檔案,如果下面已經沒有寫入的內容了,直接close也會寫入

writer.close();
// 關閉寫入流,同時會把緩衝區內容寫入檔案,所以上面的註釋掉

fop.close();
// 關閉輸出流,釋放系統資源

FileInputStream fip = new FileInputStream(f);
// 構建FileInputStream物件

InputStreamReader reader = new InputStreamReader(fip, "UTF-8");
// 構建InputStreamReader物件,編碼與寫入相同

StringBuffer sb = new StringBuffer();
while (reader.ready()) {
sb.append((char) reader.read());
// 轉成char加到StringBuffer物件中
}
System.out.println(sb.toString());
reader.close();
// 關閉讀取流

fip.close();
// 關閉輸入流,釋放系統資源

}
}