使用 Java 中的 Apache Commons 生成 CSV 的字符串内容,而不是编写实际的文件

edm*_*ars 5 java csv

在我的 Java 程序中,我想使用 Apache Commons 库生成 CSV 文件的内容,但不实际创建该文件。

我只想拥有文件的字符串内容,然后使用现有方法使用该内容写入文件。

然而,在所有代码示例中,都需要事先在目标 csv 文件中定义,给出其路径和名称,但在程序流程的此时我没有。是否可以只获取未来 csv 文件的字符串,并独立处理真正的文件创建?谢谢。

lug*_*rgi 9

StringWriter

当您想要写入文件时,您需要该文件。您可以在程序中传递文件的内容或将其存储在某个地方,直到您想要写入文件为止。

但是,如果您想将 CSV 写入字符串而不是文件,您可以尝试使用 aStringWriter而不是FileWriter.

类似的东西(未编译,可能不完整)

StringWriter stringWriter = new StringWriter();
CSVPrinter csvPrinter = new CSVPrinter(stringWriter , CSVFormat.DEFAULT
                .withHeader("Header1", "Header2"));
csvPrinter.printRecord("abc", "ghf");
String csvString = stringWriter.toString();
Run Code Online (Sandbox Code Playgroud)