早安,
我正在使用jsch-0.1.54.jar库执行sftp下载作业。
但是,我发现它将遇到异常并记录一些我无法真正理解的内容。
以下是sftp下载代码的一部分:
session.connect( );
channel = session.openChannel( "sftp" );
channel.connect( );
ChannelSftp channelSftp = (ChannelSftp) channel;
String targetPath = "/mySourcePath/";
String localPath = "/myDestinationFolder/";
channelSftp.cd( targetPath );
channelSftp.get( targetFileName,
localPath + ( localPath.endsWith( "/" ) ? "" : "/" )
+ fileName ); // this is line 734 in MyStatementDownloadAction.java
以下是日志的一部分:
2019-09-26 10:13:08.857 [default task-58] ERROR c.c.i.c.a.a.u.MyStatementDownloadAction - [hanis.syamimi] - Exception occured:
com.jcraft.jsch.SftpException:
at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:1003)
at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:888)
at com.cz.iz.ciz.app.account.ui.MyStatementDownloadAction.downloadFile(MyStatementDownloadAction.java:734)
Caused by: java.io.FileNotFoundException: /myDestinationFolder/1501800080_201908_null.pdf (No such file or directory)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:270)
at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
at java.io.FileOutputStream.<init>(FileOutputStream.java:101)
at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:979)
... 113 common frames omitted
如果它显示无法从源获取文件,那么我仍然可以获取它。但这是我的目标文件夹。
任何人都知道这是什么问题吗?
您确定要正确分配这些吗?在我看来错了...
String targetPath = "/mySourcePath/";
String localPath = "/myDestinationFolder/";