我想在特定位置的文本文件中添加几个字符串。
我使用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;
}
答案 0 :(得分:1)
我花了整整一天的时间自己找到了答案。
答案是:
关闭bufferedReader以及fileReader ..
就足够了fr.close();应该在br.close();
之后插入