Java:在写完所有行之后,将内容写入文件

时间:2014-11-18 06:50:24

标签: java filewriter file-writing

我正在尝试使用Java将文本内容写入文件。

我正在使用包含以下代码的循环:

注意:urlForAllStores是一个String对象。

FileWriter fw = new FileWriter(Play.getFile(SHOPS_FILE),true); 
//the true will append the new data

    fw.write(urlForAllStores+System.getProperty("line.separator"));
    //appends the string to the file
    fw.close();

它工作正常,但是当我的循环结束时,所有内容都被删除,我丢失了所有结果。

这里是否有任何暗示会发生的事情,或者是否可能出现在代码的其他部分。

1 个答案:

答案 0 :(得分:2)

我在/home/charlie/file.txt有一个文件,包含Hey

$ cat /home/charlie/file.txt

给出

Hey

运行此代码后

    try {
        FileWriter fw=new FileWriter(new File("/home/charlie/file.txt"), true);
        fw.write("This is written by Java \n");
        fw.close();
    } catch (IOException e) {
        e.printStackTrace();
    }

(因为我没有班级Play,你应该在你的帖子中提供)

这个命令

$ cat /home/charlie/file.txt

我的新输出是

Hey
This is written by Java

所以我无法重现你的问题以找出错误。

请告诉我是否有效 快乐编码:) -Charlie