Uzak bir dosyayı doğrudan bir dosya nesnesine nasıl akıtılacağını hızlı bir şekilde bilen biri varsa, dosyayı geçici olarak bir bilgisayara depolamanız gerekmediği için büyük ölçüde takdir edilecektir! Şimdiye kadar (net.schmizz.sshj kullanarak) aşağıdaki gibi bir uzak ios-aygıttan dosyayı kopyalamak:Uzaktaki dosyaları dosya nesnelerine aktarma
SSHClient ssh = new SSHClient();
ssh.addHostKeyVerifier(fingerprint);
ssh.connect(ip);
try {
ssh.authPassword("username", "userpassword".toCharArray());
ssh.newSCPFileTransfer().download(fileRemote, new FileSystemFile(fileLocal));
} catch (IOException ioe) {
ioe.printStackTrace();
} finally {
ssh.disconnect();
}
çözümün kod ilgilenen biri varsa:
As Cevabında sözü edilen Nutlike, InMemoryDestFile
'u kullanmaktan daha iyidir. OutputStream
MyInMemoryDestFile a = new StreamingInMemoryDestFile();
ve erişmek:
ssh.newSCPFileTransfer().download(remoteFile, a);
a.getOutputStream().toByteArray();
yeni sınıfının bir örneğini oluşturmak indirmek işlemi gerçekleştirmek için yönteminde ...
class MyInMemoryDestFile extends InMemoryDestFile {
public ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
@Override
public ByteArrayOutputStream getOutputStream() throws IOException {
return this.outputStream;
}
}
: Yani şu sınıf oluşturmak
Saygılarımızla