Kann mir bitte jemand helfen, wie man Unix-Befehl in Java-Code mit Feder sftp Adapter ausführen. Ich habe eine Verbindung mit diesem Jar hergestellt, weiß aber nicht, wie ich weiter vorgehen soll, um den Unix-Befehl auszuführen.Ausführen von Unix-Befehl in Java mit sftp Federadapter
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);
}
}
}
Ich habe nach einer Antwort gesucht, aber keine bekommen. :(
Was SFTP mit der Ausführung von Befehlen in Linux zu tun hat Java bietet bereits eine Möglichkeit, Linux-Befehle mit der Runtime-Bibliothek auszuführen. –