首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何格式化数据,使其以内联方式显示?

如何格式化数据,使其以内联方式显示?
EN

Stack Overflow用户
提问于 2015-08-02 21:18:14
回答 2查看 46关注 0票数 0

该代码工作正常,并从数据库获取数据。看一看输出,你会看到问题吗?我如何格式化这些数据,以便cols可以很好地内联显示。我不想使用复杂的表或数据集输出我的结果。我只想在每个科尔之间加上“t”。

这里是输出:

代码语言:javascript
复制
  ID    FIRSTNAME   LASTNAME    USERNAME    AGE 
  2     Dave    Bill    DaveB   30  
  3     Jane    Mark    JaneM   37   
  4     Voo Gorge   VooG    50  




public class ex02 {
public static void main(String[] args) {
    String url = "jdbc:ucanaccess:Database11.accdb";

    Connection con;
    Statement stmt;
    String query = "Select * from user";

    try {
        Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
    } catch (java.lang.ClassNotFoundException e) {
        System.err.print("ClassNotFoundException: ");
        System.err.println(e.getMessage());
    }

    try {
        con = DriverManager.getConnection(url, "", "");
        stmt = con.createStatement();
       ResultSet rs = stmt.executeQuery(query);

        ResultSetMetaData rsmd = rs.getMetaData();
        int columns = rsmd.getColumnCount();
        for (int i = 1; i <= columns; i++) {
            System.out.print(rsmd.getColumnLabel(i) + "\t");
        }
        System.out.println();

        // Display columns data from database
        while (rs.next()) {
            for (int i = 1; i <= columns; i++) {
                System.out.print(rs.getString(i) + "\t");
            }
            System.out.println();
        }

        stmt.close();
        con.close();
    } catch (SQLException ex) {
        System.err.println("SQLException: " + ex.getMessage());
    }
}

}

EN

回答 2

Stack Overflow用户

发布于 2015-08-02 21:25:35

您可以从ApacheCommons查看StringUtils.rightPad() (或者自己编写一些类似的代码)。将rightPad与将列值限制为最大长度相结合,会给您提供一个格式良好的输出。

票数 0
EN

Stack Overflow用户

发布于 2015-08-03 02:19:29

可以用固定长度对齐列进行左或右对齐。这里有一个例子,将它们都设置为相同的理由。

代码语言:javascript
复制
public static void main(String[] args) throws Exception {
    List<String[]> dataTable = new ArrayList() {{
        add(new String[] {"ID", "FIRSTNAME", "LASTNAME", "USERNAME", "AGE"}); 
        add(new String[] {"2", "Dave", "Bill", "DaveB", "30"});  
        add(new String[] {"3", "Jane", "Mark", "JaneM", "37"});   
        add(new String[] {"4", "Voo", "Gorge", "VooG", "50"});  
    }};

    // Left justified 15 character width
    System.out.println("Left Justified");
    for (String[] row : dataTable) {
        for (String col : row) {
            System.out.printf("%-15s", col);
        }
        System.out.println();
    }
    System.out.println();

    // Right justified 15 character width
    System.out.println("Right Justified");
    for (String[] row : dataTable) {
        for (String col : row) {
            System.out.printf("%15s", col);
        }
        System.out.println();
    }
}

结果:

代码语言:javascript
复制
Left Justified
ID             FIRSTNAME      LASTNAME       USERNAME       AGE            
2              Dave           Bill           DaveB          30             
3              Jane           Mark           JaneM          37             
4              Voo            Gorge          VooG           50             

Right Justified
             ID      FIRSTNAME       LASTNAME       USERNAME            AGE
              2           Dave           Bill          DaveB             30
              3           Jane           Mark          JaneM             37
              4            Voo          Gorge           VooG             50
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31776704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档