【发布时间】:2014-03-12 08:28:24
【问题描述】:
我现在有一个程序,它以映射的形式将多个 SQL 语句链接在一起。然后我使用 FileWriter 将此数据写入文件。
我想知道是否最好将我的 SQL 语句中的信息存储在字符串缓冲区中,然后直接写入文件,或者,最好在必要时逐行写入文件?
我实际上已经使用一个字符串缓冲区写入文件,但遇到了一个问题,一旦字符串缓冲区收集到超过大约 125000 个字符的值,程序就会崩溃。
【问题讨论】:
-
到底是什么问题?这些 SQL 语句是从哪里来的,你可以超过 125k 个字符?
-
SQL 语句映射在一起 - 所以我从特定数据库调用 select *,然后对于特定列的结果集每一行的值(从 JTable 读取)然后调用读取每一行后不同的 SQL 语句,使用从所需列获得的值来检索所需的记录
-
答案是肯定的……也不是。就整体性能而言,可能最多大约半兆,您最好使用单次写入。
-
如果您在 125K 时崩溃,则怀疑崩溃是由于字符串缓冲区大小以外的其他原因造成的。
标签: java file-io stringbuffer