【问题标题】:Saving a CSV using CSVBuilderService?使用 CSVBuilderService 保存 CSV?
【发布时间】:2017-04-27 03:02:02
【问题描述】:

我创建了一个 CsvBuilderService

CSVBuilderService<Vector<Object>> builder = new CSVBuilderService<Vector<Object>>();

然后我创建了 ByeArrayOutputStream:

  ByteArrayOutputStream os = (ByteArrayOutputStream)builder.buildCsvToStream(tableDataMatrixTemp);

tableDataMatrixTemp 是 Vector&lt; Object &gt;

现在,我如何在 CSV 上打印 > 并将 csv 保存在指定路径上? (我不想从网上下载文件,只保存到一个路径)。

【问题讨论】:

    标签: java file csv


    【解决方案1】:

    使用FileOutputStream

    ByteArrayOutputStream os = (ByteArrayOutputStream)builder.buildCsvToStream(tableDataMatrixTemp);
    try(FileOutputStream fos = new FileOutputStream("your-filename-goes-here")) {
       os.writeTo(fos);
    }
    

    Java 7+

    【讨论】:

      【解决方案2】:

      下面的代码 sn-p 可能会对你有所帮助!

       public void writeCSV() {
      
                  // Delimiter used in CSV file
                  private static final String NEW_LINE_SEPARATOR = "\n";
      
                  // CSV file header
                  private static final Object[] FILE_HEADER = { "Empoyee Name","Empoyee Code", "In Time", "Out Time", "Duration", "Is Working Day" };
      
                  String fileName = "fileName.csv");
                  List<Objects> objects = new ArrayList<Objects>();
                  FileWriter fileWriter = null;
                  CSVPrinter csvFilePrinter = null;
      
                  // Create the CSVFormat object with "\n" as a record delimiter
                  CSVFormat csvFileFormat = CSVFormat.DEFAULT.withRecordSeparator(NEW_LINE_SEPARATOR);
      
                  try {
                      fileWriter = new FileWriter(fileName);
      
                      csvFilePrinter = new CSVPrinter(fileWriter, csvFileFormat);
      
                      csvFilePrinter.printRecord(FILE_HEADER);
      
                      // Write a new student object list to the CSV file
                      for (Object object : objects) {
                          List<String> record = new ArrayList<String>();
      
                          record.add(object.getValue1().toString());
                          record.add(object.getValue2().toString());
                          record.add(object.getValue3().toString());
      
                          csvFilePrinter.printRecord(record);
                      }
      
                  } catch (Exception e) {
                      e.printStackTrace();
                  } finally {
                      try {
                          fileWriter.flush();
                          fileWriter.close();
                          csvFilePrinter.close();
                      } catch (IOException e) {
                          e.printStackTrace();
                      }
                  }
              }
      

      【讨论】:

        猜你喜欢
        • 2013-03-19
        • 2012-07-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-30
        • 2018-05-13
        • 2018-02-26
        • 1970-01-01
        相关资源
        最近更新 更多