Download 如何使用JSCH从服务器下载目录?

Download 如何使用JSCH从服务器下载目录?,download,directory,jsch,Download,Directory,Jsch,我已经从列表文件、上传/下载文件、创建目录等使用了JSCH。 但当我想从服务器下载目录并将其保存到目标目录时,我遇到了一些问题。我使用JFileChooser来保存它 过程如何?因为如果我使用类似文件下载的过程,它会给出IOException和null值: Feb 24, 2013 9:22:05 PM com.ikbiz.filemanager.controller.ServerDataController download SEVERE: null java.io.IOException:

我已经从列表文件、上传/下载文件、创建目录等使用了JSCH。 但当我想从服务器下载目录并将其保存到目标目录时,我遇到了一些问题。我使用JFileChooser来保存它

过程如何?因为如果我使用类似文件下载的过程,它会给出IOException和null值:

Feb 24, 2013 9:22:05 PM com.ikbiz.filemanager.controller.ServerDataController download
SEVERE: null
java.io.IOException: error
    at com.jcraft.jsch.ChannelSftp$2.read(ChannelSftp.java:1361)
...
...
请帮帮我:)谢谢你的关注

您可以使用该方法列出远程目录中的文件。然后创建一个同名的本地目录,然后循环所有远程文件以下载它们

我愿意那样做。

看一看

私有void get()

逻辑是,
-1如果条目是文件,请下载它

-2如果是目录,
mkdir
本地系统上的对应目录,
cd
本地和远程进入该目录,现在
ls
当前 远程目录(不需要
ls
local,因为它是空的)

-3对从远端收到的每个
ls
条目重复步骤1和2

-4最终,您将在本地拥有
mkdir
(ed)所有匹配的目录,并下载所有非目录

-5在每个子目录中完成备份后,记得
cd
备份到父目录