应用场景:
适合内容较少的小文件,比如脚本文件
解析:
首先读取文件内容,找到要替换的文本,然后替换文本信息,将旧文件删除,创建新文件,将所有内容复制一份重写到新文件中
具体代码:
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);
}
}