应用场景:

适合内容较少的小文件,比如脚本文件

解析:

首先读取文件内容,找到要替换的文本,然后替换文本信息,将旧文件删除,创建新文件,将所有内容复制一份重写到新文件中

具体代码:

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;

public class IOTest {
    public static void main(String[] args) throws IOException {
        //获取文件路径
        Path p = Paths.get("D:","01Application","01_TBL_CARD_INFO_sqlldr.ctl");
        //读取文件内容
        List<String> lines = Files.readAllLines(p);
        //存储文件内容
        List<String> lines_New = new ArrayList<>();
        lines.forEach(l->{
            //替换文件内容
            if(l.contains("kxtwj")) {
                l = l.replace("kxtwj","kxtwj/2020-06-01");
            }
            System.out.println(l);
            lines_New.add(l);
        });
        //删除旧文件
        Files.delete(p);
        System.out.println("delete...after.");
        //创建新文件
        File file = new File("d:/01Application/01_TBL_CARD_INFO_sqlldr.ctl");
        Path p2 = Paths.get(file.getAbsolutePath());
        //写内容到文件
        Files.write(p2,lines_New);
    }
}