[英]Editing a text file in java
我想在特定位置的文本文件中添加一些字符串。 我已经使用BufferedReader
读取文本文件。 然后,我将字符串添加到特定位置,然后使用BufferedWriter
将修改后的文本写入新的临时文件。
然后,我删除了旧文件,并将临时文件重命名为旧文件名。 这有时起作用,有时不起作用。 delete()
函数有时不会删除文件。 我已经关闭了所有BufferedWriter
,但是有时仍然会出现问题。
码:
public boolean cart(String uname, String item) throws IOException {
File file = new File("C:\\$$$$.tmp");
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile(), true);
BufferedWriter bw = new BufferedWriter(fw);
File fileop = new File("C:\\value.text");
FileReader fr = new FileReader(fileop.getAbsoluteFile());
BufferedReader br = new BufferedReader(fr);
String line;
while((line = br.readLine()) != null) {
String val[] = line.split(",");
if (val[0].equals(uname)) {
String linenew = line + item + "&";
bw.append(linenew);
bw.newLine();
bw.flush();
} else {
bw.append(line);
bw.newLine();
bw.flush();
}
}
br.close();
bw.close();
fileop.delete();
file.renameTo(fileop);
return true;
}
经过一整天的搜索,我自己找到了答案。
答案是:
关闭bufferedReader以及fileReader就足够了。
fr.close(); 应该在br.close()之后插入;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.