【发布时间】:2015-03-11 04:40:29
【问题描述】:
我正在开发用于连接 ftp 的 FTP 客户端工具。
这个时候,我需要通过这个工具上传到ftp。根据this post 和第一个答案,可以使用FileInputStream 来保存文件。但我想将文件存储为字节数组,而不是FileInputStream。
有什么办法吗?
【问题讨论】:
标签: java file-upload ftp-client
我正在开发用于连接 ftp 的 FTP 客户端工具。
这个时候,我需要通过这个工具上传到ftp。根据this post 和第一个答案,可以使用FileInputStream 来保存文件。但我想将文件存储为字节数组,而不是FileInputStream。
有什么办法吗?
【问题讨论】:
标签: java file-upload ftp-client
您可以使用 ByteArrayOutputStream 存储字节,并可以获取字节数组。
InputStream baos = new ByteArrayOutputStream();
// write bytes here
baos.write(bytes)
//to get bytes
byte[] bArr = baos.toByteArray();
【讨论】:
只需使用ByteArrayInputStream 包装包含您要上传的数据的字节数组,然后使用此流代替 FileInputStream。例如。类似:
byte[] mydata = <get your data>;
InputStream stream = new ByteArrayInputStream(mydata);
ftpClient.storeFile("remoteName", stream);
stream.close(); // Not strictly needed for ByteArrayInputStream
【讨论】: