opencsv只写一行

opencsv write only one line

好吧,opencsv 有点工作,除了一次只写一行,删除以前的信息。如果我想要这样的 csv:

汽车、年份、型号

马自达,1996,a款

法拉利,1998,型号 b

所以无论我输入多少信息,每次我得到的只是最后一行。 代码如下:

try {
             File traceFile = new File(((Context)this).getExternalFilesDir(null), FILE_NAME);
             CSVWriter writer = new CSVWriter(new FileWriter(traceFile));
              String[] entries = array_body.split("#");
              writer.writeNext(entries);
             writer.close();
        }
        catch (IOException e) {
            e.printStackTrace();
        } 

根据我看到的教程和示例,这段代码应该可以工作,请帮忙?

array_body 是 "part_a#part_b#part_c"

我假设这是一个循环?你创建一个新的编写器,然后写一行。所以,是的,它只有一行。将 new CSVWriter 移出循环。如果这不是问题所在,请展示您的其余代码,因为您描述的问题似乎与您的循环结构有关。

它对我有用 - 你确定你没有不小心在你的读取循环中有新的 FileWriter 吗?

public void create(int numRecords, FileWriter fos) {
    CSVWriter writer = new CSVWriter(fos);
    writer.writeNext(SmallRecordGenerator.generateHeader());
    for (int i = 1; i <= numRecords; i++) {
        SmallRecord record = SmallRecordGenerator.createRecord(i);
        writer.writeNext(record.convert());
    }
}