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());
}
}
好吧,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());
}
}