Java 将JDBC结果集解析为CSV内存字符串
我正在执行一个返回ResultSet对象的查询。我想将此结果集转换为内存中的CSV字符串 我想这样做的原因是,一旦我有了CSV字符串,我想调用RESTAPI端点并向它传递这个CSV数据 是否有任何现有库或实用程序可用于将结果集转换为内存中的字符串?也就是说,不进入文件。Java 将JDBC结果集解析为CSV内存字符串,java,csv,jdbc,Java,Csv,Jdbc,我正在执行一个返回ResultSet对象的查询。我想将此结果集转换为内存中的CSV字符串 我想这样做的原因是,一旦我有了CSV字符串,我想调用RESTAPI端点并向它传递这个CSV数据 是否有任何现有库或实用程序可用于将结果集转换为内存中的字符串?也就是说,不进入文件。StringWriter输出=新的StringWriter(); StringWriter output = new StringWriter(); CsvWriterSettings settings = new
StringWriter输出=新的StringWriter();
StringWriter output = new StringWriter();
CsvWriterSettings settings = new CsvWriterSettings(); // many options here, check the documentation
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
String[] headers = new String[columns];
for(int i = 1; i <= columns; i++){
headers[i - 1] = md.getColumnLabel(i);
}
//if an input value is null, you may want print "NULL"
settings.setNullValue("NULL");
// if an input value is not null, but is empty (e.g. ""), the writer can be configured to print "NULL" as well
settings.setEmptyValue("NULL");
// Sets the file headers (used for finer selection of fields, these values won't be written automatically)
settings.setHeaders(headers);
// Creates a writer with the above settings;
CsvWriter writer = new CsvWriter(output, settings);
// Writes the headers specified in the settings
writer.writeHeaders();
Object[] row = new Object[columns];
while(rs.next()){
for(int i = 1; i <= columns; i++){
row[i - 1] = rs.getObject(i);
}
writer.writeRow(row);
}
writer.close();
String yourString = output.toString();
CsvWriterSettings settings=新的CsvWriterSettings();//这里有很多选项,请查看文档
ResultSetMetaData md=rs.getMetaData();
int columns=md.getColumnCount();
String[]headers=新字符串[列];
对于(int i=1;iStringWriter输出=new StringWriter();
CsvWriterSettings settings=new CsvWriterSettings();//这里有许多选项,请查看文档
ResultSetMetaData md=rs.getMetaData();
int columns=md.getColumnCount();
String[]headers=新字符串[列];
对于(int i=1;i)现在,这读起来像是“请为我编写此代码”。这不是它的目的。请看一下,四处看看,通读,特别是主题外的内容,但可以帮助您做到这一点。现在,这读起来像是“请为我编写此代码”这不是这么回事。请拿着,四处看看,通读,特别是离题的,但可以帮助你做到这一点。