나는 ftp에 연결을 위해 FTP 클라이언트 공구에 종사하고있다.FTPClient를 사용하여 파일을 바이트 배열로 저장하는 방법은 무엇입니까?
현재이 도구를 통해 ftp로 업로드해야합니다. this post에 따르면 첫 번째 대답은 파일 저장에 FileInputStream
을 사용할 수 있습니다. 하지만 바이트 배열, 아니 FileInputStream
같이 파일을 저장할 싶어요.
그렇게 할 방법이 있습니까?
나는 ftp에 연결을 위해 FTP 클라이언트 공구에 종사하고있다.FTPClient를 사용하여 파일을 바이트 배열로 저장하는 방법은 무엇입니까?
현재이 도구를 통해 ftp로 업로드해야합니다. this post에 따르면 첫 번째 대답은 파일 저장에 FileInputStream
을 사용할 수 있습니다. 하지만 바이트 배열, 아니 FileInputStream
같이 파일을 저장할 싶어요.
그렇게 할 방법이 있습니까?
그냥 업로드 할 데이터는 containes 바이트 배열을 포장하고 FileInputStream에 대신에이 스트림을 사용하는 ByteArrayInputStream를 사용합니다. 예 : 예 :
byte[] mydata = <get your data>;
InputStream stream = new ByteArrayInputStream(mydata);
ftpClient.storeFile("remoteName", stream);
stream.close(); // Not strictly needed for ByteArrayInputStream
사용자는 ByteArrayOutputStream을 사용하여 바이트를 저장하고 바이트 배열을 가져올 수 있습니다.
InputStream baos = new ByteArrayOutputStream();
// write bytes here
baos.write(bytes)
//to get bytes
byte[] bArr = baos.toByteArray();
[ByteArrayInputStream] (http://docs.oracle.com/javase/7/docs/api/java/io/ByteArrayInputStream.html)을 사용하십시오. –