|--需求说明
|--实现方式
1、采用BufferedReader读取文件,采用BufferedWriter写入新的文件
2、采用StringBuffer追加接收到的文件
3、采用String类的replace替换字符
|--代码内容
1 package cn.copy; 2 3 import java.io.*; 4 5 /** 6 * @auther::9527 7 * @Description: 作业的方法 8 * @program: shi_yong 9 * @create: 2019-08-02 11:17 10 */ 11 public class WorkMeth { 12 13 public static void main(String[] args) { 14 FileInputStream fis = null; 15 InputStreamReader isr = null; 16 BufferedReader br = null; 17 18 FileOutputStream fos = null; 19 OutputStreamWriter osw = null; 20 BufferedWriter bw = null; 21 22 StringBuffer sb = new StringBuffer(""); 23 24 try { 25 //创建读文件的对象 26 fis = new FileInputStream("d:/pet.template"); 27 isr = new InputStreamReader(fis); 28 br = new BufferedReader(isr); 29 30 //创建写文件的对象 31 fos = new FileOutputStream("d:p.template"); 32 osw = new OutputStreamWriter(fos); 33 bw = new BufferedWriter(osw); 34 35 String str = ""; 36 System.out.println("替换操作前:"); 37 //循环读取文件 38 while ((str = br.readLine() )!=null){ 39 //采用StringBuffer将读取到的文件追加到sb里面 40 sb.append(str); 41 } 42 System.out.println("-------------我是分割线-----------------"); 43 System.out.println(sb.toString()); 44 str = String.valueOf(sb); 45 str = str.replace("{name}","欧欧"); 46 str = str.replace("{type}","狗狗"); 47 str = str.replace("{master}","李伟"); 48 System.out.println("替换操作后:\n"+str); 49 bw.write(str); 50 System.out.println("操作完成"); 51 } catch (FileNotFoundException e) { 52 e.printStackTrace(); 53 } catch (IOException e) { 54 e.printStackTrace(); 55 }finally { 56 try { 57 //关闭输入输出,否则新创建出来的文件不会显示 58 bw.close(); 59 osw.close(); 60 fos.close(); 61 br.close(); 62 isr.close(); 63 fis.close(); 64 } catch (IOException e) { 65 e.printStackTrace(); 66 } 67 } 68 } 69 }
|--运行结果
替换字符后生成的新的文件