public class ReaderAndWriter {
public static void main(String[] args) {
//读取文件pet.template
BufferedReader br=null;
InputStreamReader isr=null;
//使用带缓冲区的字符输出流把替换后的新内容写入到pet.txt中
BufferedWriter bw=null;
OutputStreamWriter osw=null;
try {
isr=new InputStreamReader(
new FileInputStream("d:/myDoc/pet.txt"),"UTF-8");
br=new BufferedReader(isr);
//读取的内容
StringBuffer sbf=new StringBuffer();
String line=null;
while ((line=br.readLine())!=null){
sbf.append(line);
}
System.out.println("替换前:"+sbf);
//文件内容的替换,把占位符替换为具体宠物信息
String newStr=sbf.toString();
newStr=newStr.replace("{name}","{欧欧}");
newStr=newStr.replace("{type}","{狗狗}");
newStr=newStr.replace("{master}","{李伟}");
System.out.println("替换后"+newStr);
//将新内容写入到pet.txt文件中
osw=new OutputStreamWriter(new FileOutputStream("d:/myDoc/pet.txt"),"UTF-8");
bw=new BufferedWriter(osw);
bw.write(newStr);
bw.flush();
}catch (UnsupportedEncodingException e){
e.printStackTrace();
}catch (FileNotFoundException e){
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}finally {
try {
br.close();
isr.close();
bw.close();
osw.close();
}catch (IOException e){
e.printStackTrace();
}
}
}