[英]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.