簡體   English   中英

在Java中編輯文本文件

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM