Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Dapatkan Fail daripada Pelayan SFTP Menggunakan Java?

Bagaimanakah Saya Boleh Dapatkan Fail daripada Pelayan SFTP Menggunakan Java?

DDD
Lepaskan: 2024-12-03 17:48:10
asal
216 orang telah melayarinya

How Can I Retrieve Files from an SFTP Server Using Java?

Mendapatkan semula Fail melalui SFTP dalam Java

Protokol Pemindahan Fail Selamat (SFTP) ialah protokol pemindahan fail selamat yang menyediakan pemindahan fail selamat melalui sambungan SSH. Ini berbeza dengan protokol lain seperti FTPS yang menggunakan TLS/SSL melalui sambungan TCP standard.

Untuk mendapatkan semula fail daripada pelayan melalui SFTP menggunakan Java, anda boleh menggunakan perpustakaan JSch. JSch digunakan secara meluas oleh projek seperti Eclipse, Ant dan Apache Commons HttpClient kerana cirinya yang mantap dan antara muka mesra pengguna.

Ia menyokong log masuk berasaskan pengguna/pas dan sijil serta menawarkan banyak ciri SSH2. Berikut ialah contoh kod asas yang boleh anda gunakan untuk mendapatkan semula fail jauh melalui SFTP:

import com.jcraft.jsch.*;

public class SftpFileRetriever {

    public static void main(String[] args) throws JSchException {
        JSch jsch = new JSch();
        String knownHostsFilename = "/home/username/.ssh/known_hosts";
        jsch.setKnownHosts(knownHostsFilename);

        Session session = jsch.getSession("remote-username", "remote-host");
        {
            // Interactive version
            // This version allows you to selectively update specified known_hosts file.
            // You'll need to implement the UserInfo interface, and MyUserInfo is a swing implementation provided in JSch's Sftp.java example.
            UserInfo ui = new MyUserInfo();
            session.setUserInfo(ui);

            // Non-interactive version
            // This version relies on the host key being in the 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");

        sftpChannel.exit();
        session.disconnect();
    }
}
Salin selepas log masuk

Kod ini mewujudkan sesi SSH, menyediakan hos yang diketahui dan bersambung ke saluran. Kemudian, ia mendapatkan semula fail jauh dan memutuskan sambungan sesi. Pengendalian ralat dan butiran khusus interaksi pengguna dibiarkan sebagai latihan untuk anda selesaikan.

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

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan