将csv文件上载到ftp而不在本地创建物理文件

时间:2012-09-21 08:30:09

标签: java ftp stream

我想创建一个csv文件并将其发送到远程ftp服务器,我使用CSVWriter中的Apache Commons

目前,我正在创建一个本地临时文件,将此文件包装在Inputstream周围,然后使用client.store(<InputStream>,<Filename>)方法将此流上传到远程ftp服务器。这里的问题是它每次执行时都会创建一个本地临时文件 我想摆脱这个,并能够直接创建一个流,尤其是csv流。我的主要想法是避免创建本地临时文件。

1 个答案:

答案 0 :(得分:1)

您可以将ByteArrayOutputStream包装在任何类型的Writer中,并将该Writer用作CSVWriter的参数。这样你就可以提取一个字节数组,它可以用作ByteArrayInputStream的参数。

如果是大量数据,您可以使用PipedInputStream和PipedOutputStream的组合,而不是ByteArray * Streams。