CSV文件的读写其实是有很多方法的,在这里介绍一种利用第三方jar包来读写CSV文件的方法。
其实我在之前就介绍过这个包,但是只是列举了他的一些方法,今天给他做个延伸,包中并没有说,写入文件的时候,保留原内容,writeRecord(String[] array),这个方法只是写入文件,但是是替换原文件。我们有时不是一次性将所有内容写入文件,而是循环写入,怎么办,可以使用组合的方式,现在介绍下怎么使用组合的方式
在创建构造函数时,有三个可以选择的函数,如下所示:
CsvWriter(OutputStream outputStream, char delimiter, Charset charset)
使用输出流创建一个CsvWriter对象来写入数据。
CsvWriter(String fileName)
使用文件作为数据存放地创建CsvWriter对象。 使用逗号作为列分隔符和ISO-8859-1作为字符集。
CsvWriter(String fileName, char delimiter, Charset charset)
使用文件作为数据存放地创建CsvWriter对象。
CsvWriter(Writer outputStream, char delimiter)
使用Writer创建一个CsvWriter对象来写入数据
我们使用第三个Writer outputStream,这样就轻松的解决
代码如下:
/****
* @comments 写CSV文件
* @param str
* @param file
*/
public void writeFileToCsv(String[] str, String file) {
File f = new File(file);
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(f,true));
CsvWriter cwriter = new CsvWriter(writer,',');
cwriter.writeRecord(str,false);
cwriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}