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。