提供一个思路就是先读取文件内容,然后替换文件内容,再更新文件,文件太大的时候不太适合
代码:
package indi.andy.platform.web.test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Test {
public static String read(File src) {
StringBuffer res = new StringBuffer();
String line = null;
try {
BufferedReader reader = new BufferedReader(new FileReader(src));
while ((line = reader.readLine()) != null) {
res.append(line + "\n");
}
reader.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return res.toString();
}
public static boolean write(String cont, File dist) {
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(dist));
writer.write(cont);
writer.flush();
writer.close();
return true;
} catch (IOException e) {
e.printStackTrace();
return false;
}
}
public static void main(String[] args) {
File src = new File("D:/test.txt");
// 读取
String cont = read(src);
// 更新
cont = cont.replace("#ttl#", "写入的内容");
write(cont, src);
}
}
文件内容
//------------------------------------------------------------------------
//log.config:
//foo
//
//this is a log of my work and the ttl is : #ttl#
//
//bar
//------------------------------------------------------------------------