Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何固定列大小_Java_Sql_Jdbc_Resultset - Fatal编程技术网

Java 如何固定列大小

Java 如何固定列大小,java,sql,jdbc,resultset,Java,Sql,Jdbc,Resultset,我的结果集有问题。我无法获得固定长度的列 ResultSetMetaData rsmd = rs.getMetaData(); int cols = rsmd.getColumnCount(); for(int i=1; i<=cols; i++) System.out.print(rsmd.getColumnLabel(i)+"\t"); System.out.println("\n-------------------------------------------------

我的结果集有问题。我无法获得固定长度的列

ResultSetMetaData rsmd = rs.getMetaData();
int cols = rsmd.getColumnCount();
for(int i=1; i<=cols; i++)
    System.out.print(rsmd.getColumnLabel(i)+"\t");
System.out.println("\n--------------------------------------------------------------");
while(rs.next())
{

    for(int i=1; i<=cols; i++)
        System.out.print(rs.getString(i)+"\t");

    System.out.println();
}
ResultSetMetaData rsmd=rs.getMetaData();
int cols=rsmd.getColumnCount();

对于(int i=1;i只需使用带格式的打印(调整到所需的长度):

将返回:


您的意思是在控制台中(我不打开外部链接)?在控制台中是的。列名不在数据的正上方。它看起来好像向左移动了一点。Imgur在我的公司中被阻止。bilder upload只是一个图片上传站点。你不能期望使用
选项卡和正确对齐,因为
\t
只会推到下一个“列”如果每列的长度为8(很难解释…),请注意,在值大于20个字符之前,这将一直有效;)是。这是评论不,不是。。。或者你不明白我的意思。对我来说,我改成了40岁,但效果很好
ResultSetMetaData rsmd = rs.getMetaData();
int cols = rsmd.getColumnCount();
//format begins after 20 characters.

String format = "%-20s";

for(int i=1; i<=cols; i++)
    System.out.printf(format, rsmd.getColumnLabel(i));
System.out.println("\n--------------------------------------------------------------");
while(rs.next())
{

    for(int i=1; i<=cols; i++)
        System.out.printf(format, rs.getString(i));

    System.out.println();
}
public class FixedColumn {

    public static void main(String[] args) {
        String[] test = {"13333","2qweqwe","3dddd"};
        String[] test2 = {"dsds4","6","6e"};
        String format = "%-20s";        
        for (String s : test) {
            System.out.printf(format, s);
        }
        System.out.println();
        for (String s : test2) {
            System.out.printf(format, s);
        }

    }

}