java CsvWriter 写csv文件,保留原内容

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


你可能感兴趣的:(java)