如何使用 FTPClient 将文件存储为字节数组?
How to store file as byte array using FTPClient?
我正在开发 FTP- 用于连接 ftp 的客户端工具。
此时我需要通过这个工具上传到ftp。根据 this post 和第一个答案,可以使用 FileInputStream
来保存文件。但我想将文件存储为字节数组,而不是 FileInputStream
。
有什么办法吗?
可以使用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
我正在开发 FTP- 用于连接 ftp 的客户端工具。
此时我需要通过这个工具上传到ftp。根据 this post 和第一个答案,可以使用 FileInputStream
来保存文件。但我想将文件存储为字节数组,而不是 FileInputStream
。
有什么办法吗?
可以使用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