Heim >Java >javaLernprogramm >Wie kann ich mit JSch Dateien über SFTP in Java abrufen?

Wie kann ich mit JSch Dateien über SFTP in Java abrufen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-14 12:31:10362Durchsuche

How Can I Retrieve Files via SFTP in Java Using JSch?

Abrufen von Dateien über SFTP in Java

Beim Verwenden von SFTP anstelle von FTPS zum Abrufen von Dateien von einem Remote-Server stehen Java-Entwickler vor einer einzigartigen Herausforderung . Ein Ansatz besteht darin, die JSch-Bibliothek zu erkunden, eine weit verbreitete Wahl für seriöse Open-Source-Projekte wie Eclipse, Ant und Apache Commons HttpClient.

JSch unterstützt nahtlos sowohl Benutzername/Passwort als auch zertifikatbasierte Anmeldungen und bietet eine umfassendes Spektrum an SSH2-Funktionen. Nachfolgend präsentieren wir ein rudimentäres Beispiel für das Abrufen einer Datei über SFTP mit JSch:

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();

Das obige ist der detaillierte Inhalt vonWie kann ich mit JSch Dateien über SFTP in Java abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn