【Java】文件中指定单词的替换

时间:2021-05-19 08:53:57

一、需求

a)        文件template.txt内容:

“大家好,我叫name,我养了一只狗,它叫dog,dog很可爱。

我喜欢和dog一起游泳,一起散步。

name欢迎大家来家里作客,也期待你们和我的dog一起玩耍。”

b)        从控制台输入人的名字,将文件中的name换成你输入的人名字;从控制台输入狗狗的名字,将文件中的dog换成你输入的狗狗名字;将修改后的字符串写入到文件中(文件的名字是人的名字)

二、代码

public classUpdataTemplate {

     public static void main(String[] args) {

         Scannersc= newScanner(System.in);

         //读文件,将文件中的数据存放到一个字符串中

         BufferedReaderbr = null;

         BufferedWriterbw = null;

         try {

              //定义一个字符串用于接收读取的数据

              StringBuffersb = new StringBuffer();

              //获得输入流对象,可以读取文件

              br = new BufferedReader(new FileReader("d:/template.txt"));

              Stringline;

              //循环逐行读取数据

              while(null != (line = br.readLine())){

                   sb.append(line + "\n");

              }

              System.out.println(sb);

              System.out.println("请输入您的姓名:");

              Stringname = sc.next();

              System.out.println("请输入您家狗狗的名字:");

              StringdogName = sc.next();

              Strings = sb.toString();

              s = s.replaceAll("name", name).replaceAll("dog", dogName);

              System.out.println(s);

              //创建一个输出流对象

              bw = new BufferedWriter(new FileWriter("d:/"+name+".txt"));

              bw.write(s);

              bw.flush();

         }catch(Exception e) {

              e.printStackTrace();

         }finally{

              try {

                   if(null != br){

                       br.close();

                   }

                   if(null != bw){

                       bw.close();

                   }

              }catch(IOException e) {

                   e.printStackTrace();

              }

         }

     }

}

三、执行结果

大家好,我叫name,我养了一只狗,它叫dog,dog很可爱。

我喜欢和dog一起游泳,一起散步。

name欢迎大家来家里作客,也期待你们和我的dog一起玩耍。

 

请输入您的姓名:

blair

请输入您家狗狗的名字:

petty

大家好,我叫blair,我养了一只狗,它叫petty,petty很可爱。

我喜欢和petty一起游泳,一起散步。

blair欢迎大家来家里作客,也期待你们和我的petty一起玩耍。