18 AĞUSTOS 2008, PAZARTESİ
Java: Ne bir sunucudan dosya SFTP için en iyi yoldur
Bir sunucu SFTP FTP katılımı aksine) Java kullanarak dosya almak için en iyi yolu nedir? En iyi özel tanımı bırakıyorum ama aklımda ücretsiz vardır :)
CEVAP
19 AĞUSTOS 2008, Salı
Başka bir seçenek JSch library bakarak düşünün. JSch diğerleri arasında birkaç büyük açık kaynak projeleri, Eclipse, Ant ve Apache Commons HttpClient dahil olmak üzere, tercih edilen bir kütüphane gibi görünüyor.
Hem kullanıcı/pass destekler ve tabanlı sertifika giriş güzel, tüm diğer lezzetli SSH2 özellikleri bir bütün ana kadar iyi.
Burada basit bir uzak dosya SFTP almak. Hata işleme okuyucu için bir egzersiz olarak kalır :-)
JSch jsch = new JSch();
String knownHostsFilename = "/home/username/.ssh/known_hosts";
jsch.setKnownHosts( knownHostsFilename );
Session session = jsch.getSession( "remote-username", "remote-host" );
{
// "interactive" version
// can selectively update specified known_hosts file
// need to implement UserInfo interface
// MyUserInfo is a swing implementation provided in
// examples/Sftp.java in the JSch dist
UserInfo ui = new MyUserInfo();
session.setUserInfo(ui);
// OR non-interactive version. Relies in host key being in known-hosts file
session.setPassword( "remote-password" );
}
session.connect();
Channel channel = session.openChannel( "sftp" );
channel.connect();
ChannelSftp sftpChannel = (ChannelSftp) channel;
sftpChannel.get("remote-file", "local-file" );
// OR
InputStream in = sftpChannel.get( "remote-file" );
// process inputstream as needed
sftpChannel.exit();
session.disconnect();
Bunu Paylaş:
Nasıl bir dosya oluşturmak ve Java ile...
İyi bir metin okumak için Java dosya y...
Java'da bir dosya kopyalamak için stan...
Nasıl indirmek ve internetten bir dosy...
Neden Java bize bir isim dosya adından...