Java文件读写
FileReader
FileReader继承自InputStreamReader,按字符读取流中的数据。
/**
* 按行读文件到ArrayList中
* @param fileName 文件名
* @return ArrayList
*/
public ArrayList<String> read(String fileName){
FileReader fileReader;
BufferedReader bufferedReader;
ArrayList<String> stringArrayList = new ArrayList<>();
try{
fileReader = new FileReader(fileName);
bufferedReader = new BufferedReader(fileReader);
String str;
while((str = bufferedReader.readLine())!=null){
stringArrayList.add(str);
}
fileReader.close();
bufferedReader.close();
}catch (Exception e) {
e.printStackTrace();
}
return stringArrayList;
}
FileWritter
FileWritter继承自OutputStreamWriter,按字符流向文件写入数据,构造函数的第二参数是是否以追加方式写入。
/**
* 写入到文件中
* @param str string
* @param fileName 文件名
*/
public void write(String str,String fileName){
FileWriter out;
BufferedWriter bufferedWriter;
try{
out = new FileWriter(fileName,true);
bufferedWriter = new BufferedWriter(out);
bufferedWriter.write(str);
//bufferedWriter.flush();
bufferedWriter.close();
out.close();
}catch (Exception e){
e.printStackTrace();
}
}
BufferedWriter和BufferedReader
在上面的例子中使用了带有默认缓冲字符输入输出流BufferedWriter和BufferedReader,这是因为使用缓冲的效率要高一些。