将多行写入文件

时间:2012-05-16 16:01:32

标签: java file-io

我正在尝试在单击JButton时将时间戳写入文件。调用.close()后,数据将写入文件,任何其他写入都会引发错误。如何编写数据而无需创建新的FileWriter并覆盖上一行?

3 个答案:

答案 0 :(得分:3)

flush()对象上调用FileWriter,而不是关闭,这会隐含这一点。这使它保持打开状态,但强制将已缓冲的数据写入文件。 完成写作后不要忘记close()

答案 1 :(得分:0)

您可以在单击之间保持编写器打开并在其他时间(可能在表单退出时)关闭它,或者您可以为每次单击创建一个新的FileWriter并将其附加到文件中已有的内容。

FileWriter writer = new FileWriter("output.txt", true); //true here indicates append to file contents

如果您选择在点击之间保持作者打开,那么您可能希望在按下每个按钮时调用.flush()以确保文件是最新的。

答案 2 :(得分:0)

试试这个,

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileWriter;

import java.io.IOException;


public class Wr {

    public static void main(String[] args) throws IOException {

    File f = new File("viv.txt");

    FileWriter fw = new FileWriter(f, true);

    BufferedWriter bw = new BufferedWriter(fw);

    bw.write("Helloooooooooo");

    bw.close();

    }
}