当前位置: 首页 > 知识库问答 >
问题:

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

壤驷高洁
2023-03-14

我想复制文件/home/user/dir1/abc。txt/home/user/dir2/。我不熟悉linux和jsch,所以请指导我在dir中复制上面的文件。我尝试了以下代码,但它不适合我。

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();
    }
}

共有1个答案

江德海
2023-03-14

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

 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();
    }
}
}
 类似资料:
  • 问题内容: 我已经阅读了http://docs.docker.com/engine/reference/builder/#add,但是遇到了问题。我想将本地目录复制到docker 我试过了: 和: 也: 但是,我看到以下错误消息,但是本地目录中确实包含。 问题答案: 将本地目录的 内容 复制到docker映像目录中。 复制使用中的目录本身: 要么

  • 问题内容: 我想使用Java将文件从一个目录复制到另一个目录(子目录)。我有一个包含文本文件的目录dir。我遍历dir中的前20个文件,并想将它们复制到dir目录中的另一个目录中,该目录是我在迭代之前创建的。在代码中,我想将(代表第ith个文本文件或审阅)复制到。我怎样才能做到这一点?似乎没有这样的功能(或者我找不到)。谢谢。 问题答案: 目前,这应该可以解决你的问题 从类阿帕奇公地IO库,因为1

  • 我有一个文件夹,其中有一个。dat文件和一个是。zip文件,我必须移动。将文件压缩到另一个目录 我有两个文件夹,一个是 请建议如何实现这一点,我现在所做的是。。。

  • 我正在使用QT,我无法找到如何将文件从一个目录复制到另一个目录?我怎样才能做到这一点?

  • 问题内容: 说我在目录中还有一个文件。如何替换为使用?我在Windows XP上,跨平台的解决方案会很棒,但是Windows是首选。 问题答案: 您可以使用以下 功能: 在其手册页中引用了几个相关的句子: 将文件源的副本复制到dest。 如果目标文件已经存在,它将被覆盖。