使用sftp spring adapter在java中执行unix命令

时间:2016-05-13 11:21:50

标签: spring adapter sftp

有人可以帮我解决如何使用spring sftp adapter在java代码中执行unix命令。我已经与该jar连接但不知道如何继续执行unix命令。

    package automation;

import java.io.InputStream;

import org.springframework.integration.channel.ChannelPurger;
import org.springframework.integration.file.remote.session.Session;
import org.springframework.integration.sftp.session.DefaultSftpSessionFactory;
import org.springframework.integration.sftp.session.SftpSession;

import com.jcraft.jsch.*;


public class unixConnect {

    DefaultSftpSessionFactory dsftp;
    String input1 = "/****/****/file.dat";

    public DefaultSftpSessionFactory getDsftp() {
        return dsftp;
    }

    public void setDsftp(DefaultSftpSessionFactory dsftp) {
        this.dsftp = dsftp;
    }

    private Session sess;

    public void connect() {
        try {           
            sess = dsftp.getSession();
            String command = "ksh /home/***/exec " + input1;
            ---- This is the place how to execute the above command. 
            channel.setInputStream(null);           
            channel.setOutputStream(System.out);                                                                 
            ((ChannelExec)channel).setCommand( command );               
            ((ChannelExec)channel).setErrStream(System.out);
            channel.connect();                                                  
            InputStream input = channel.getInputStream();       

        } catch (Exception e) {
            System.out.println("Error" + e);
        }
    }
}

我一直在寻找答案,但没有得到答案。 :(

1 个答案:

答案 0 :(得分:0)

SFTP SSH文件传输协议。您会看到部件"文件传输"。没有,命令执行。您可以传输文件,但无法运行任何内容。这是定义。