Writing code in java: How to download files from the server in the form of sftp?

In Java, you can use the JSch library to implement SFTP (SSH File Transfer Protocol) to download files from the server. Here is a sample code for SFTP download using JSch library:

import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;

public class SftpDownloader {     public static void main(String[] args) {         String host = "server hostname or IP address";         int port = 22; // default SFTP port is 22         String username = "server username";         String privateKeyPath = "Private key file path";         String remoteFilePath = "Remote server file path";         String localFilePath = "Local file path";






        JSch jsch = new JSch();
        try {             // load private key             jsch.addIdentity(privateKeyPath);

            // Create session
            Session session = jsch.getSession(username, host, port);

            // Authenticate without a password
            session.setConfig("PreferredAuthentications", "publickey");

            // Open a new SFTP channel
            ChannelSftp channel = (ChannelSftp) session.openChannel("sftp");
            channel.connect();

            // Download the file
            channel.get(remoteFilePath, localFilePath);

            // close channel and session
            channel.disconnect();
            session.disconnect();

            System.out.println("File downloaded successfully!");
        } catch (Exception e) {             e.printStackTrace();         }     } }



Please note that the above code assumes that you have already generated a key pair and saved the private key file in privateKeyPaththe specified path. Make sure to replace the server hostname, username, private key file path, and paths to local and remote files in the code.

Using the above code, you can download files from the server to the local specified path through SFTP.

Guess you like

Origin blog.csdn.net/gb4215287/article/details/132265874