0

单击 JButton 时,我正在尝试将时间戳写入文件。一旦.close()被调用,数据就会被写入文件,任何其他写入都会引发错误。如何在不必创建新的 FileWriter 并覆盖上一行的情况下写入数据?

4

3 回答 3

3

而不是关闭,它隐含地执行此操作,而是调用flush()对象FileWriter。这使它保持打开状态,但会强制将已缓冲的数据写入文件。不要忘记close()当你写完的时候。

于 2012-05-16T16:05:14.340 回答
0

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

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

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

于 2012-05-16T16:08:40.210 回答
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();

    }
}
于 2012-05-16T18:32:03.817 回答