首先,我是Java的新手,我需要一些幫助解決以下問題。什麼是用Java讀取大量數據的有效方式
我有一個包含數百萬條記錄的Java列表。我想將這個數據列表導出爲CSV文件。以下是我爲讀取數據而寫入的功能,但它無法記錄數百萬條記錄。你能否建議更好的方法來做到這一點?
private String generateCsvData(List<Map<String, Object>> rows) {
String output = reportService.getReportHeadder();
for (Map row : rows) {
output += (Long) row.get("branchId")
+ ","
+ StringEscapeUtils.escapeCsv((String) row.get("branches"))
+ ","
+ StringEscapeUtils.escapeCsv((String) row
.get("categoryName"))
+ ","
+ StringEscapeUtils.escapeCsv((String) row.get("products"))
+ ","
+ StringEscapeUtils.escapeCsv((String) row.get("emails"))
+ ","
+ StringEscapeUtils.escapeCsv((String) row
.get("contactAddress"))
+ ","
+ StringEscapeUtils.escapeCsv((String) row
.get("contactDet")) + ","
+ StringEscapeUtils.escapeCsv((String) row.get("url"))
+ "\n";
}
return output;
}
「失敗」是什麼意思?它會拋出異常嗎?什麼例外?順便問一下,在哪裏閱讀?我看到你正在將一些數據轉換爲CSV格式。我不認爲這是閱讀。 –
@NikitaBeloglazov我會懷疑在這種情況下OutOfMemoryError ... – assylias
'OutOfMemoryError'是假設? –