gpt4 book ai didi

Java,如何即时写入文件

转载 作者:行者123 更新时间:2023-11-29 03:34:47 25 4
gpt4 key购买 nike

目前在我的应用程序中,我将一堆数据存储在内存中,最后通过 ArrayList 将其写入文件并将数据转储到文件指针中。我怎样才能即时写入数据,但我不想将其存储在某些文件指针内存中。我希望在应用程序运行时将其写入磁盘。试图将内存成本保持在最低水平。如果需要回答,我可以接受关于文件指针如何在 Java 中工作的简短讲座。

谢谢。

最佳答案

我不确定我是否理解您的问题,但一般来说,这就是您将数据“即时”写入磁盘的方式。

  • 打开输出文件
  • 在生成数据时,将行或缓冲区写入输出文件
  • 关闭输出文件

编辑以回答评论中的问题。

I want the data to be streamed to the disk as the application is running, and for data not to be lost per se if the app crashed in the middle of execution.

好吧,如果应用程序崩溃,您可能会丢失最后一行或缓冲区。您使用 finally 方法来确保关闭输出文件,即使应用程序崩溃也是如此。

Can you provide a quick code sample?

当然可以。

public void writeOutput() {
boolean processRunning = true;
BufferedWriter bufferedWriter = null;
try {
bufferedWriter = new BufferedWriter(new FileWriter("output.txt"));
while (processRunning) {
String s = generateOutput();
bufferedWriter.write(s);
if (s.equals("finished")) {
processRunning = false;
}
}
bufferedWriter.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (bufferedWriter != null) {
bufferedWriter.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

关于Java,如何即时写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16155053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com