Java BufferedWriter与BufferedReader操作文本文件

时间:2021-05-23 20:19:52
/**
* 采用字符流读取写入文本文件
*/
public class FileUtil { /**
* 写文件
* @param fileName
* @param content
*/
public static void writeFile(String fileName, String content){
FileWriter output = null;
BufferedWriter writer = null;
try{
output = new FileWriter(fileName);
writer = new BufferedWriter(output);
writer.write(content);
}catch(Exception e){
e.printStackTrace();
}finally{
if(null != writer){
try {
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(null != output){
try {
output.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
} /**
* 读文件
* @param fileName
* @return
*/
public static String readFile(String fileName){
StringBuffer sb = new StringBuffer("");
FileReader input = null;
BufferedReader reader = null;
try{
input = new FileReader(fileName);
reader = new BufferedReader(input);
String line = null;
while((line = reader.readLine()) != null){
sb.append(line);
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(null != reader){
try {
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(null != input){
try {
input.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return sb.toString();
}
}

在使用BufferedWriter写入文件时,如果忘记关闭文件(close)同时也没有调用flush(),则被写入的文件中是没有内容的。在关闭文件的

同时系统会自动调用flush()。