【问题标题】:Uploading a csv file to ftp without creating a physical file locally将csv文件上传到ftp而不在本地创建物理文件
【发布时间】:2012-09-21 08:30:09
【问题描述】:

我想创建一个 csv 文件并将其发送到远程 ftp 服务器,我正在使用来自 Apache CommonsCSVWriter

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

【问题讨论】:

  • 你能告诉我们你的代码现在是什么样子吗?

标签: java ftp stream


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-09
    • 2021-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多