我正在运行一个Java程序,其中使用Java SFTP将文件从一个文件夹传输到另一个文件夹。我遇到的问题是我在Java SFTP(使用JSch)中遇到以下错误:
C:\ Oracle \ Middleware \ Oracle_Home \ oracle_common \ jdk \ bin \ javaw.exe-服务器-classpath C:\ JDeveloper \ mywork \ Java_Hello_World.adf; C:\ JDeveloper \ mywork \ Java_Hello_World \ Client \ classes; C:\ Users \ ADMIN \ Downloads \ jsch-0.1.53.jar -Djavax.net.ssl.trustStore = C:\ Users \ IBM_AD〜1 \ AppData \ Local \ Temp \ trustStore5840796204189742395.jks FileTransfer com.jcraft.jsch.JSchException:UnknownHostKey: 127.0.0.1。RSA密钥指纹为com.jcraft.jsch.Session.checkHost(Session.java:a2:39:3f:44:88:e9:1f:d7:d1:71:f4:85:98:fb:90:dc 797)在com.jcraft.jsch.Session.connect(Session.java:342)在com.jcraft.jsch.Session.connect(Session.java:183)在FileTransfer.main(FileTransfer.java:33)退出进程退出代码0。
以下是我到目前为止的代码:
FileTransfer fileTransfer = new FileTransfer();
JSch jsch = new JSch();
try {
String host = "127.0.0.1";
int port = 22;
String user = "user";
Session session = jsch.getSession(user, host, port);
session = jsch.getSession("username", "127.0.0.1", 22);
session.connect(); // bug here , java.net.ConnectException
ChannelSftp sftp = null;
sftp = (ChannelSftp)session.openChannel("sftp") ; //channel;
//extra config code
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
// end extra config code
sftp.rename("C:\\Users\\ADMIN\\Desktop\\Work\\ConnectOne_Bancorp\\Java_Work\\SFTP_1\\house.bmp", "C:\\Users\\ADMIN\\Desktop\\Work\\ConnectOne_Bancorp\\Java_Work\\SFTP_2\\house.bmp");
session.disconnect();
} catch (JSchException e) {
e.printStackTrace();
} catch (SftpException e) {
e.printStackTrace();
} //end-catch
我的Cygwin已设置好,并检查netstat -a -b了它的运行(带有)。