我正在尝试读取文本文件并将每一行添加到列表中。该列表在准备好的语句中用于将记录插入到数据库中。问题是当有 1000000 条记录时,执行变得太慢,并且有时会出现内存不足错误。
我的代码
while ((sRec = in.readLine()) != null) {
myCollection.add(reversePad(sRec, hmSizeLookup, colLength, tableName));
a = Utility.getPositions(sRec, hmSizeLookup, colLength);
i = i + 1;
}
for (int j = 0; j < a.length; j++) {
Field f = (Field) hmSizeLookup.get(String.valueOf(j));
sAllFields += f.getColumnName();
if (j < a.length) {
sValues += "?";
}
if (j < a.length - 1) {
sValues += ",";
sAllFields += ",";
}
}
sQ = "insert into " + tableName + "(" + sAllFields + ") values(" + sValues + ")";
ds1.executePreparedStatement(sQ, myCollection);
如何从文本文件一次只读取 1000 行并需要执行插入操作?这应该一直持续到文本文件的结尾。
任何建议表示赞赏,
谢谢