我试图使用opencsv库来编写csv文件。限制是我不想在磁盘上创建文件甚至是临时文件。有没有办法实现呢?
从我看来,CSVWriter的构造函数需要一个FileWriter对象。
谢谢!
答案 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
即可。在写入操作之后,您可以使用StringWriter
向toString()
询问内容。