使用字符流改变特定内容时借助StringBuffer类中的.toString().replace()方法,
BufferedReader(Writer) 可以包装一个新的其他类型的输入,输出流,使用缓冲区提高效率。
//创建字符流 缓冲区
FileReader fr=null;
FileWriter fw=null;
BufferedReader br=null;
BufferedWriter bw=null;
try {
StringBuffer bf=new StringBuffer();
//读取文件
fr=new FileReader("H:\\i_o\\test1.txt");
//使用缓冲区
br=new BufferedReader(fr);
//写入文件
fw=new FileWriter("H:\\i_o\\test2.txt");
//使用缓冲区
bw=new BufferedWriter(fw);
//读取文件内容
String n;
while((n=br.readLine())!=null){
bf.append(n);
}
System.out.println("替换前:"+bf);
//替换 ??????
String s= bf.toString().replace("{name}", "小红").replace("{profession}", "记者").replace("{age}","12");
System.out.println("替换后:"+s);
System.out.println("文件替换完成,请查看确认!");
//写入到新文本中
bw.write(s);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
bw.close();
fw.close();
br.close();
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}