import java.io.*;
public class FileTest {
String path = "C:\\Users\\Desktop\\test.txt";
File f = new File(path);
private void writeFile() throws IOException {
//構建FileOutputStream對象,文件不存在會自動新建
FileOutputStream fop = new FileOutputStream(f);
// 構建OutputStreamWriter對象,參數可以指定編碼"UTF-8";不設置,默認爲操作系統默認編碼;
OutputStreamWriter writer = new OutputStreamWriter(fop, "UTF-8");
//寫入緩衝區
writer.append("該類用來創建一個文件並向文件中寫數據。\r\n如果該流在打開文件進行輸出前,目標文件不存在,那麼該流會創建該文件。\r\n");
writer.append("tvmain: [2102][ 3034.174501] DTL: recording: [recording.cpp 1355 readTSData()] res:0, available:872865792");
// 關閉寫入流,同時會把緩衝區內容寫入文件
writer.close();
//關閉輸出流,釋放系統資源
fop.close();
}
private void readFile()throws IOException {
FileInputStream fip = new FileInputStream(f);
InputStreamReader reader = new InputStreamReader(fip, "UTF-8");
StringBuffer sb = new StringBuffer();
while(reader.ready()){
//將讀取的數據轉化成char類型,加入StringBuffer對象sb裏
sb.append((char)reader.read());
}
//將sb對象內容轉化成string類型,輸出
System.out.println(sb.toString());
//關閉讀取流
reader.close();
//關閉輸入流,釋放系統資源
fip.close();
}
public static void main(String[] args)throws IOException {
//創建對象
FileTest test = new FileTest();
//先把數據寫入文件,後讀再讀取文件,在控制檯輸出
test.writeFile();
test.readFile();
}
}