java - 如何正确格式化结果集的输出

标签 java string formatting resultset

我有以下代码段,它应该以 java 格式很好地显示resultSet。然而,它并没有做它应该做的事情。我想知道为什么我会得到这种奇怪格式的输出。

id        name         age     address      salary
1        Paul          32California                                   23000.0
2      Steeve          24New Jersy                                    22000.0
4      Andrew          24Washinghton                                  25000.0
3       Georg          29Colorado                                     21000.0
5        Andy          26Texas2                                       28000.0



public void  displayResultSet(ResultSet resultSet2) throws SQLException{
          ResultSetMetaData resultSetMetaData2 = resultSet2.getMetaData();
          int count2 = resultSetMetaData2.getColumnCount();
          Object[] objects = new Object[count2];

            for (int a = 1; a<=count2;a++){
                    System.out.printf("%1$12s", resultSetMetaData2.getColumnName(a));
            }
            System.out.println("");
            while (resultSet2.next()) {
                    for (int a = 1; a<=count2;a++){
                          Object o2 = resultSet2.getObject(a);
                          objects[a-1] =  o2.toString();
                         System.out.printf("%1$12s", o2.toString());
                        }
                    System.out.println("");
               }

        }

插入查询如下所示:

INSERT INTO COMPANY2 (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Paul',32,'California',23000.00);
INSERT INTO COMPANY2 (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2, 'Steeve',24,'New Jersy',22000.00);
INSERT INTO COMPANY2 (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3, 'Georg',29,'Colorado',21000.00);
INSERT INTO COMPANY2 (ID,NAME,AGE,ADDRESS,SALARY) VALUES (4, 'Andrew',26,'Washinghton',25000.00);
INSERT INTO COMPANY2 (ID,NAME,AGE,ADDRESS,SALARY) VALUES (5, 'Andy',26,'Texas2',28000.00);

任何帮助将不胜感激。

最佳答案

在 Java Formatter 中,宽度指定要写入输出的最小字符数。如果您希望截断长文本字段(如地址),您也应该尝试使用精度。此外,您依赖 Object 的 toString() 方法来格式化非文本字段,因此您可能需要首先修剪这些字段:

System.out.printf("%12.12s", o2.toString().trim());

关于java - 如何正确格式化结果集的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28092128/

相关文章:

wpf - 如何防止某些类型的格式被粘贴到 WPF RichTextBox 中

java - 为 Java 创建精确的重力

Java多线程在同一个 block 中等待和通知

java - JPA POJO 作为数据对象

javascript - 如何使用 jQuery 删除变量上的 '_' 前缀?

python - 如何在 PyQtGraph 中使用 TextItem.setText() 设置字体大小?

带有格式说明符的 f 字符串中的 Python 条件语句

javascript - 使用带有 Tab 内容移动的 Jquery 制作动画

GWT 2.0.3 中的 String.split() 方法错误

string - 为什么这不非贪婪地匹配并只给我图像名称?