使用 jsch 将文件从 linux 服务器目录复制到其他目录

copy file from linux server directory to other directory using jsch

我想将文件 /home/user/dir1/abc.txt 复制到 /home/user/dir2/。我是 linux 和 jsch 的新手,请指导我将上述文件复制到目录中。我尝试使用以下代码,但它对我不起作用。

public static void main(String args[]){

    String host = "192.168.11.90";
    String user = "Smt";
    String password = "ping";
    String command = "./test/stable-uniconnect-server-0.179/bin/launcher run";
    String src ="/home/Smt/abc/text1.txt";
    String dest ="/home/Smt/abcd";
    String cp = "mv -u /home/Smt/abc/text1.txt /home/Sumit/abcd/";
    try{
    Properties config = new Properties();
    config.put("StrictHostKeyChecking", "no");
    JSch jsch = new JSch();
    // Create a JSch session to connect to the server
    Session session = jsch.getSession(user, host, 22);
    session.setPassword(password);
    session.setConfig(config);
    // Establish the connection
    session.connect();
    ChannelExec channel = (ChannelExec) session.openChannel("exec");
    channel.setCommand(cp);
    channel.setErrStream(System.err);
    System.out.println("Connected...");
    String dir="abc";

     session.disconnect();
    }
    catch(Exception e){
        e.printStackTrace();
    }
}

这是您程序的修改代码。它对我有用。 根据您的情况替换源文件夹和目标文件夹位置。

 import java.util.Properties;
 import com.jcraft.jsch.ChannelExec;
 import com.jcraft.jsch.JSch;
 import com.jcraft.jsch.Session;


/**
* @author jangachary.s
*
*/
public class CpTest {

public static void main(String args[]) {
    String host = "192.168.01.69";
    String user = "username";
    String password = "password";
    // String command = "./test/stable-uniconnect-server-0.179/bin/launcher run";
    String src = "srcFolder";
    String dest = "destFolder";
    String cp = "cp " + src + "/fileName " + dest;
    try {
        Properties config = new Properties();
        config.put("StrictHostKeyChecking", "no");
        JSch jsch = new JSch();

        // Create a JSch session to connect to the server
        Session session = jsch.getSession(user, host, 22);
        session.setPassword(password);
        session.setConfig(config);
        // Establish the connection
        session.connect();
        ChannelExec channel = (ChannelExec) session.openChannel("exec");
        channel.setCommand(cp);

        channel.connect();

        channel.setErrStream(System.err);
        System.out.println("Connected...");
        session.disconnect();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
}