繁体   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