繁体   English   中英

向文件写入多行

[英]Writing multiple lines to a file

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

您可以关闭FileWriter对象上的flush() ,而不是进行隐式关闭。 这样可以保持打开状态,但是会强制将已缓冲的数据写入文件。 不过,完成编写后,请不要忘记close()

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

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

如果选择在两次单击之间使编写器保持打开状态,则可能需要在每次按下按钮时调用.flush(),以确保文件是最新的。

尝试这个,

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();

    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM