使用opencsv将CSV写入String,而不创建实际文件或临时文件

时间:2014-01-15 16:25:16

标签: java file opencsv

我试图使用opencsv库来编写csv文件。限制是我不想在磁盘上创建文件甚至是临时文件。有没有办法实现呢?

从我看来,CSVWriter的构造函数需要一个FileWriter对象。

谢谢!

3 个答案:

答案 0 :(得分:9)

实际上constructor需要Writer,您可以提供a StringWriter来创建字符串。

答案 1 :(得分:7)

要修改给定here的示例,只需使用StringWriter而不是FileWriter:

public static void main(String[] args) throws IOException {
    StringWriter s = new StringWriter();
    CSVWriter writer = new CSVWriter(s, '\t');
    // feed in your array (or convert your data to an array)
    String[] entries = "first#second#third".split("#");
    writer.writeNext(entries);
    writer.close();
    String finalString = s.toString();
    System.out.println(finalString);

}

答案 2 :(得分:2)

实际上,CSVWriter会占用Writer个实例,因此您只需传递StringWriter即可。在写入操作之后,您可以使用StringWritertoString()询问内容。