如何在java中的某些特定字符串之间替换文件内容?

如何在java中的某些特定字符串之间替换文件内容?,java,Java,我有两个文件,想把一个文件的内容放在另一个文件的某个特定的开始字符串和结束字符串之间 文件1 第一个文件的内容。要用第二个文件的内容替换此处的所有内容 文件2 第二个文件的内容 必需的文件 第一个文件的内容。第二个文件的内容。包含第二个文件的内容 做出的假设: 开始字符串和结束字符串将始终是唯一的这是如何做到的: 将文件加载到字符串中 使用字符串查找开始和结束文本。您可以使用regex或String.indexOf进行此操作 使用String.replace将中间内容替换为所需的内容 将字符串写

我有两个文件,想把一个文件的内容放在另一个文件的某个特定的开始字符串和结束字符串之间

文件1

第一个文件的内容。要用第二个文件的内容替换此处的所有内容

文件2

第二个文件的内容

必需的文件

第一个文件的内容。第二个文件的内容。包含第二个文件的内容

做出的假设: 开始字符串和结束字符串将始终是唯一的

这是如何做到的:

  • 将文件加载到字符串中
  • 使用字符串查找开始和结束文本。您可以使用regex或String.indexOf进行此操作
  • 使用String.replace将中间内容替换为所需的内容
  • 将字符串写回文件

  • 我写这个快速模型是为了给你一个想法:

    在我写的演示中,1.txt包含“我的名字是安德烈”,2.txt包含“约翰”。我的代码使用了两个变量,
    uniqueStart
    uniquend
    ,并使用字符串的
    indexOf
    函数对我们想要的
    1.txt
    部分进行子串。然后将代码<> 2。txt <代码>的内容放在中间,创建最后的字符串<代码>我的名字是约翰。< /代码>

    然后我将其保存到一个新文件中作为演示

    import java.io.IOException;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    import java.nio.charset.StandardCharsets;
    
    
    class Main {
      public static void main(String[] args) throws IOException{
    
        String firstFileContent = new String(Files.readAllBytes(Paths.get("1.txt")), StandardCharsets.UTF_8);
    
        String secondFileContent = new String(Files.readAllBytes(Paths.get("2.txt")), StandardCharsets.UTF_8);
    
        //First file content example: "My name is Andre."
        //Second file content example: "John".
        String uniqueStart = "My name is ";
        String uniqueEnd = ".";
    
        String combined = firstFileContent.substring(0, firstFileContent.indexOf(uniqueStart)+uniqueStart.length()) + secondFileContent + firstFileContent.substring(firstFileContent.indexOf(uniqueEnd), firstFileContent.length());
        //Combined = My name is John.
    
        Files.write(Paths.get("NewContent.txt"), combined.getBytes());
      }
    }
    

    这是家庭作业吗?