我写了这个小代码
ResultSet rs=stmt.executeQuery(my_query);
ResultSetMetaData md=rs.getMetaData();
int numColumns =md.getColumnCount();
for (int i=1; i<numColumns+1; i++) {
String columnName = md.getColumnName(i);
Final+=columnName;
}
while (rs.next()) {
for (int i=1; i<numColumns+1; i++) {
String output=rs.getString(md.getColumnName(i));
Final+=output;
}
}
这里我想在String columnName = md.getColumnName(i);
中添加制表空间和Final + =输出后的新行;
我已尝试\n
\t
和newLine()
,但没有正常工作,
因为我想将Final
字符串与所有column_names Plus数据放在一个变量Final
中。
我能够轻松地将其转换为Final
,但问题是它全部在一行中,所以我需要在行之间的列和行间距(最终)之间添加制表符空间(columnName)。请建议。
答案 0 :(得分:2)
ResultSet rs=stmt.executeQuery(my_query);
ResultSetMetaData md=rs.getMetaData();
int numColumns =md.getColumnCount();
String output = md.getColumnName(1);
for (int i=2; i<numColumns+1; i++) {
output += " " + columnName;
}
output += "\n";
while (rs.next()) {
output += rs.getString(md.getColumnName(1));
for (int i=2; i<numColumns+1; i++) {
output += " " + rs.getString(md.getColumnName(i));
}
output += "\n";
}
或者您可以使用列表。在每行的开头创建一个新列表,向其添加元素,然后在行的末尾用空格连接所有列表,添加换行符并追加到output
。它比我提出的解决方案更清晰,更通用。