我有一个文本文件,其中各种键值对用' - '分隔。 下面是我到目前为止的代码
File file = new File("C:\\StateTestFile.txt");
BufferedWriter out = new BufferedWriter(file.getAbsolutePath());
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
if(line.contains("content_style")) {
//Write to the line currently reading and save back to the file
}
}
br.close();
out.close();
我想要做的是阅读此文本文件,并用我指定的内容替换特定行的值。所以id想要找到'content_style'行并用'dirty'替换'posh'。
我该怎么做?
答案 0 :(得分:1)
只需使用:
line = line.replaceAll("posh", "dirty"); // as strings are immutable in java
答案 1 :(得分:0)
只有当您确定要替换的字符串与替换它的字符串完全相同的字节长度时,才能在单个文件上就地执行此操作。否则,您无法在单个文件中添加或删除字符,但可以创建新文件。
replaceAll
,并将其写入目标文件。保留键值语义的备用方法:
"content_style"
,请将密钥和"dirty"
写入目标文件。否则写下密钥和值。最后,删除旧文件并将旧文件重命名为旧文件。如果您经常进行键值操作,并且您不想一直写出新文件,那么使用数据库可能是值得的。寻找JDBC driver for SQLite。