1.需求
以UTF-8編碼,讀寫txt文件。
2.代碼
2.1.寫文件
File file = new File("d://textfile.txt");
FileOutputStream fileOutputStream = new FileOutputStream(file);
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(fileOutputStream, "UTF-8"));
writer.write("hello world\n");
writer.write("yep?");
writer.flush();
fileOutputStream.close();
writer.close();
剛開始是直接使用FileWriter
來寫入,如下:
File file = new File("d:\\textfile.txt");
FileWriter fieWriter = new FileWriter(file);
fileWriter.write("helllo word\n");
fileWriter.write("yep?");
fieWriter.flush();
fileWriter.close();
但是這樣沒辦法指定編碼,中文可能會遇到亂碼現象。因此,只有將File
先加入FileOutputStream
,然後new OutputStreamWriter
的時候指定編碼。
2.2.讀文件
File file = new File("d://textfile.txt");
FileInputStream fileInputStream = new FileInputStream(file);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fileInputStream, "UTF-8"));
String str = "";
while ((str = bufferedReader.readLine()) != null) {
System.out.println(str);
}
fileInputStream.close();
bufferedReader.close();
3.Tips
文件讀寫,無非是Writer、Reader,以及讀取File到流裏面。以及Buffer。