gpt4 book ai didi

java - 在java中将大量字符串数据写入文件,优化选项

转载 作者:行者123 更新时间:2023-11-29 08:09:43 24 4
gpt4 key购买 nike

我有一个像桌面 java swing 应用程序一样的聊天,我不断获取字符串类型的数据。最终,String 变量变得越来越大。

1) 将大变量保存在内存中并且仅在日志记录完成后将其保存到磁盘是否明智。

2) 如果不是,那么每次我得到一个新字符串(长度大约 30-40)时,我是否应该继续保存?

我应该如何优化这样的设计?

最佳答案

我会使用 BufferedWriter,例如 PrintWriter。这将为您缓冲数据并每 8 KB(实际上是每 8192 个字符)写入一次。如果您想更频繁地写入,可以使用 flush() 或更小的缓冲区。

PrintWriter pw = new PrintWriter("my.log");

// will actually write to the OS, 5 times. (1000 * 40 / 8192)
for(int i = 0; i < 1000; i++) {
pw.printf("%39d%n", i); // a 40 character number.
}

pw.flush();

或者你可以使用

pw.println(lineOfText);

顺便说一句:如果你想知道一个真正巨大的文件是什么样的 ;) 这个例子写了一个 8 TB 的文件 http://vanillajava.blogspot.com/2011/12/using-memory-mapped-file-for-huge.html

关于java - 在java中将大量字符串数据写入文件,优化选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8853560/

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