-1

我已经从列表文件中使用 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)
...
...

请帮助我:) 感谢您的关注。

4

2 回答 2

1

看看 https://github.com/xiaoerge/File-UI/blob/master/src/fileui/GUI.java#L364

私人无效获取()...

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

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

ls-3 对从远程端获得的每个条目重复步骤 1 和 2 。

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

-5 请记住cd在每个子目录中完成后备份到父目录。

于 2015-04-26T01:05:02.400 回答
1

您可以使用该Vector ls(String path)方法列出远程目录中的文件。然后,您创建一个同名的本地目录,mkdirs()并遍历所有远程文件以下载它们。

我会那样做。

于 2013-02-26T12:19:15.987 回答