从java程序中的查询隐藏标头

时间:2014-05-29 16:51:09

标签: java printwriter properties-file

所以我有一个程序可以将数据从谷歌吐出到csv文件。我想要做的是允许用户通过使用字符串选择是否显示标题。

这是我的打印机:

...some code
    // getting the queries to print
    if (results.getRows() == null || results.getRows().isEmpty()) {
        pw.println("No results Found.");
        System.out.println("No results Found.");
    } else {

    // Print column headers.

      for (ColumnHeaders header : results.getColumnHeaders()) {
          pw.print(header.getName() + ", ");
      }
      pw.println();

     // Print actual data.
     for (List<String> row : results.getRows()) {
       for (String column : row) {
         pw.print(column + ",");
       }
       pw.println();
     } 
     pw.close();
   }
 }
}

我有一个连接到我的程序的属性文件,我想把它放在一个用户在属性文件的标题部分输入no时,我不希望标题显示。

我正在考虑将标题部分转换为字符串并将其放入if then语句中。有什么建议? thx in advanced

编辑:

// column headers statement
     if (headers=="yes") {
         for (ColumnHeaders header : results.getColumnHeaders()) 
             pw.print(header.getName() + ", ");
    } else {
    // Print column headers.
    for (ColumnHeaders header : results.getColumnHeaders()) {
        pw.print("" + ", ");
    }
    pw.println();
  }

 // getting the queries to print
    if (results.getRows() == null || results.getRows().isEmpty()) {
        pw.println("No results Found.");
        System.out.println("No results Found.");
    } else {

     // Print actual data.
     for (List<String> row : results.getRows()) {
       for (String column : row) {
         pw.print(column + ",");
       }
       pw.println();
     } 
     pw.close();
   }

 }   
}

但我现在所做的并不正常。

1 个答案:

答案 0 :(得分:2)

首先,您没有正确检查用户输入以匹配

您需要更改

if (headers=="yes") {

if (headers.equals("yes")) {

除了逗号之外,我还会删除else语句,以便在第一行中打印出任何内容。你真的希望第一行只是逗号吗?

确保在最后关闭你的流,无论如何。看起来你的pw.close()在else语句中。