Ich habe viel gesucht, konnte aber keine Lösung dafür bekommen. Ich muss eine Datei von lokalen Windows-Rechner auf Remote-Windows-Maschine mit Java-Programm kopieren. Ich habe mit JSch versucht,Kopieren von Dateien von lokalen Fenstermaschine zu Remote-Windows-Maschine mit Java
JSch jsch = new JSch();
Session session = null;
session = jsch.getSession("username","hostname",22);
session.setPassword("password");
session.setConfig("StrictHostKeyChecking", "no");
session.connect();
ChannelSftp channel = null;
channel = (ChannelSftp)session.openChannel("sftp");
channel.connect();
File localFile = new File("filePath");
//If you want you can change the directory using the following line.
channel.cd("E:/xxx");
channel.put(new FileInputStream(localFile),localFile.getName());
channel.disconnect();
session.disconnect();
Während dem obigen Code ausgeführt wird, ich bin der unten Fehler auftritt,
Exception in thread "main" 2: No such file
at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2846)
at com.jcraft.jsch.ChannelSftp._realpath(ChannelSftp.java:2340)
at com.jcraft.jsch.ChannelSftp.cd(ChannelSftp.java:342)
ich Cygwin in entfernten Windows-Rechner installiert habe. Es scheint, dass Jsch den Fensterweg nicht finden kann. Der gleiche Code funktioniert ordnungsgemäß beim Kopieren von Dateien von Windows-Maschine auf Linux-Maschine.
Bitte tel mir eine Lösung für das oben genannte Problem oder gibt es andere Möglichkeiten, dies in Java zu erreichen? Danke
Danke. Es hat perfekt funktioniert. – Jugi