我想创建一个csv文件并将其发送到远程ftp服务器,我使用CSVWriter
中的Apache Commons
。
目前,我正在创建一个本地临时文件,将此文件包装在Inputstream
周围,然后使用client.store(<InputStream>,<Filename>)
方法将此流上传到远程ftp服务器。这里的问题是它每次执行时都会创建一个本地临时文件
我想摆脱这个,并能够直接创建一个流,尤其是csv流。我的主要想法是避免创建本地临时文件。
答案 0 :(得分:1)
您可以将ByteArrayOutputStream包装在任何类型的Writer中,并将该Writer用作CSVWriter的参数。这样你就可以提取一个字节数组,它可以用作ByteArrayInputStream的参数。
如果是大量数据,您可以使用PipedInputStream和PipedOutputStream的组合,而不是ByteArray * Streams。