当前位置: 首页 > 知识库问答 >
问题:

与jsch异步sftp文件传输?

马沛
2023-03-14

有没有一种方法可以使用Jsch进行异步sftp文件传输,而无需管理自己的线程?

我看到有一个sftprogressmonitor来监控进度,但它只提供了一个回调。

我正在寻找类似Java的AsynchronousFileChannelwrite方法:

公共抽象未来写入(ByteBuffer src,长位置)

哪个库提供异步sftp传输?

共有1个答案

上官波鸿
2023-03-14

我使用CompletableFuture解决了异步执行传输的问题(查看runAsyncsupplyAsync方法)。

该类还提供了将多个期货组合或链接在一起的方法,如:CompletableFuture。所有可完成的未来。然后编写,等等。。。

 类似资料:
  • 我正在尝试使用JSch从SFTP服务器下载文件到我的本地机器。无论文件大小如何,它只下载16371字节的数据并结束传输。它不会引发任何异常。如果文件小于16371字节,它将成功传输,但对于任何较大的文件,传输都会导致文件损坏。

  • 我正在使用JSCH从SFTP服务器下载文件。我使用单会话,多通道下载文件从不同文件夹位于SFTP。对于这个下载过程,我有一组排定的作业。每项工作将: 每次打开一个新通道()。通道名称:SFTP 使用方法获取要下载的文件总数的大小 如果size(Vector)大于零,则使用下载所有文件 最后关闭打开的通道。 在上面的过程中,大多数时候我得到的文件,找不到或没有这样的文件异常,并没有下载一些文件。 谁

  • 在apache commons net ftpclient中,有ftpclient.printWorkingDirectory()来获取当前目录的字符串。 如何使用jsch sftp客户机实现同样的功能?有一个名为realpath(String)的方法,但它似乎不对,我无法使其工作。

  • 我使用的是camel version2.13.1和camel-ftp version2.13.1。我正试图通过camel路由连接到sftp服务器。我得到了一些与jCraft Jsch异常相关的错误,如下所示。

  • 我正试图将文件上载到linux服务器,但我收到一个错误,错误是:“”。我不知道我的代码是否错误,或者连接是否被服务器阻止了——使用相同的细节,我可以将服务器与FileZilla连接起来。 我的代码:

  • 问题内容: 我已经通过ftp成功上传了文件,但是现在我需要通过SFTP进行上传。我可以成功连接到远程服务器,创建文件并写入文件,但是无法将现有文件从本地服务器上载到远程服务器。ftp_put是否不通过sftp连接触发? 我的代码用来写文件: 有没有人成功抓取本地文件并通过上述方法使用sftp上传?一个例子将不胜感激。 谢谢 问题答案: 通过上述方法(涉及sftp),您可以使用stream_copy