【问题标题】:How append a row line to an existing csv file using opencsv in javajava - 如何在java中使用opencsv将行附加到现有的csv文件
【发布时间】:2017-02-23 14:18:42
【问题描述】:

我正在使用CSVWriter(OpenCSV) 将数据写入Java 中的CSV

谁能帮我将数据附加到现有数据中?

我尝试如下打开文件

FileWriter pw = new FileWriter("F:\\data.csv",true); 

但是我可以看到旧内容被替换并且文件中只有新数据可用? 我想要旧数据和新数据。

【问题讨论】:

标签: java opencsv


【解决方案1】:

如果您使用的是 openCSV,请执行以下操作:-

CSVWriter writer = new CSVWriter(new FileWriter(csv, true));

这里是完整的例子:-

import java.io.FileWriter;

import au.com.bytecode.opencsv.CSVWriter;

public class AppendToCSVExample
{
   public static void main(String[] args) throws Exception
   {
      String csv = "data.csv";
      CSVWriter writer = new CSVWriter(new FileWriter(csv, true));

      String [] record = "3,David,Feezor,USA,40".split(",");

      writer.writeNext(record);

      writer.close();
   }
}

要在现有的 .csv 文件上追加新记录,您必须启用 FileWritter 类的追加机制(此处为 'true' - 第二个参数),以启用 FileWritter 类的追加功能。

希望这对你有用。

【讨论】:

  • 我也尝试过。但我只能看到最新的行,CSV 中没有现有的行
  • 如果我会使用StatefulBeanToCsvBuilder ?
【解决方案2】:

我正在使用:

CSVWriter csvWriter = new CSVWriter(Files.newBufferedWriter(Paths.get(csvOutput))); 我用的时候:

CSVWriter csvWriter = new CSVWriter(new FileWriter(csvOutput, true));

它成功了!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-04
    • 2022-11-12
    • 2019-07-24
    • 2018-06-30
    • 2016-10-23
    • 2010-12-10
    相关资源
    最近更新 更多