【发布时间】:2018-08-20 08:35:44
【问题描述】:
我正在使用Jooq 从数据库中读取数据并将记录转储到文件中。
我想以 CSV 格式转储记录,并在每条记录之间换行。我查看了Jooq Docs 并在 Google 上进行了研究,但没有找到任何帮助。 Jooq 支持 CSV format 但如何在我的用例中加入该功能。
我正在使用以下代码转储文件中的记录:
SelectQuery<Record> query = getDslContext().selectQuery();
try {
@Cleanup FileOutputStream fileOutputStream = new FileOutputStream(FILE);
@Cleanup GZIPOutputStream gzipOutputStream = new GZIPOutputStream(fileOutputStream);
@Cleanup OutputStreamWriter outputStreamWriter = new OutputStreamWriter(gzipOutputStream, charsetName);
@Cleanup BufferedWriter writer = new BufferedWriter(outputStreamWriter);
@Cleanup Cursor<Record> cursor = query.fetchSize(MAX_FETCH_SIZE).fetchLazy();
while(cursor.hasNext()){
Result<Record> results = cursor.fetchNext(MAX_FETCH_SIZE);
for (Record record : results){
writer.write(record.formatJSON());
writer.newLine();
}
}
【问题讨论】: