Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Dapatkan Fail melalui SFTP dalam Java Menggunakan JSch?

Bagaimanakah Saya Boleh Dapatkan Fail melalui SFTP dalam Java Menggunakan JSch?

Patricia Arquette
Patricia Arquetteasal
2024-12-14 12:31:10358semak imbas

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

Mendapatkan semula Fail melalui SFTP dalam Java

Apabila menggunakan SFTP dan bukannya FTPS untuk mendapatkan semula fail dari pelayan jauh, pembangun Java menghadapi cabaran yang unik . Satu pendekatan adalah untuk meneroka perpustakaan JSch, pilihan yang diterima pakai secara meluas untuk projek sumber terbuka bereputasi seperti Eclipse, Ant dan Apache Commons HttpClient.

JSch dengan lancar menampung kedua-dua nama pengguna/kata laluan dan log masuk berasaskan sijil, menawarkan rangkaian komprehensif keupayaan SSH2. Di bawah, kami membentangkan contoh asas untuk mendapatkan semula fail melalui SFTP menggunakan 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();

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan Fail melalui SFTP dalam Java Menggunakan JSch?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn