Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Dapatkan Fail melalui SFTP dalam Java Menggunakan 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!