Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
动态替换文本文件的Java程序_Java - Fatal编程技术网

动态替换文本文件的Java程序

动态替换文本文件的Java程序,java,Java,我正在进行一个项目,以动态替换文本文件中的字符 静态文本是 亲爱的客户:, 感谢您在我们公司注册 您的注册成功,并已代表您生成发票。 付款时请使用以下发票信息: 公司名称:公司名称 ECS编号:ECS\U代码 发票号:发票号 应付金额:应付金额 我想用java方法动态地替换这四个参数。公司名称、ecsnumber、发票号和到期金额 到目前为止我只能读取txt文件,需要帮助的话我可以替换掉这个字符 到目前为止,我的示例代码 public static void main(String[] args

我正在进行一个项目,以动态替换文本文件中的字符

静态文本是

亲爱的客户:, 感谢您在我们公司注册

您的注册成功,并已代表您生成发票。 付款时请使用以下发票信息:

公司名称:公司名称

ECS编号:ECS\U代码

发票号:发票号

应付金额:应付金额

我想用java方法动态地替换这四个参数。公司名称、ecsnumber、发票号和到期金额

到目前为止我只能读取txt文件,需要帮助的话我可以替换掉这个字符

到目前为止,我的示例代码

public static void main(String[] args) {
        // TODO code application logic here

      String filename ="C:\\Users\\Yemi-Plexada\\Desktop\\yemi.txt";  
        try {
            FileReader inputFile = new FileReader(filename);

            BufferedReader bufferReader = new BufferedReader(inputFile);

             //Variable to hold the one line data
          String line;


          // Read file line by line and print on the console
          while ((line = bufferReader.readLine()) != null)   {
            System.out.println(line);
          }

          //Close the buffer reader
          bufferReader.close();

        }  

您可以调用字符串上的
replace
方法,如下所示

 line = line.replace("Company_name", "WITH_ACTUAL_COMPANY_NAME");

调用while循环中的所有此类
replace
方法来迭代所有行。

如果这是一个严肃的项目(而不仅仅是一个任务),您可能需要使用模板引擎。您想用什么替换它们?提示:现在您正在打印该行,应该会发生其他情况。对所有行应用一些字符串方法,例如
replace(key,value)
,对四个键中的每一个键都应用一次。您应该使用适当的无副作用模板库,如我想替换公司名称、ECS代码、,发票编号和到期金额…因此该方法类似于public replacetext(String-example-company,String-example-INVOICE-file.txt)等。除非您要为每个新转换重写代码,否则您不会将String-literal作为第二个参数?