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