gpt4 book ai didi

java - ResultSet 转 CSV 格式字符串

转载 作者:行者123 更新时间:2023-12-04 12:18:47 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Convert Resultset to CSV file using Java

(2 个回答)


去年关闭。




我正在尝试将 ResultSet 对象转换为 CSV 格式的 String 对象。我尝试使用 OpenCV 将其转换为 CSV 文件,但我需要将其作为字符串。有一个选项可以先将其转换为文件,然后将数据转换为字符串,然后删除文件,但这将是我无法承受的额外开销。

有没有办法实现它,我尝试搜索但到目前为止还没有任何东西。

最佳答案

Apache Commons CSV

或者,您可以使用 CSVPrinter 来自 Apache Commons CSV .
CSVPrinter::printRecords( ResultSet )
方法 CSVPrinter::printRecords 需要一个 ResultSet 争论。

看关键线csvPrinter.printRecords(resultSet);在下面的示例代码中。

package org.myorg;

import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVPrinter;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class QueryToCSV {

public static void main(String[] args) throws IOException {

if ( args.length < 2)
throw new IllegalArgumentException("Usage: QueryToCSV.jar <JDBCConnectionURL> <SQLForQuery> -> output to STDOUT and STDERR");

// Create a variable for the connection string.
String connectionUrl = args[0];
String sqlQuery = args[1];
try ( Connection conn = DriverManager.getConnection(connectionUrl); ) {

BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out));

try (Statement st = conn.createStatement();) {
ResultSet resultSet = st.executeQuery(sqlQuery);
CSVPrinter csvPrinter = new CSVPrinter(writer, CSVFormat.DEFAULT.withHeader(resultSet));
csvPrinter.printRecords(resultSet);
csvPrinter.close();
}
}
catch (SQLException e) {
e.printStackTrace();
System.exit(1);
}
catch (IllegalArgumentException ie) {
System.err.println(ie.getMessage());
System.exit(1);
}
}
}

关于java - ResultSet 转 CSV 格式字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43946314/

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