【问题标题】:Local directories-files list using jcraft.jsch使用 jcraft.jsch 的本地目录文件列表
【发布时间】:2015-10-25 13:36:16
【问题描述】:

我需要将文件列表从不同目录传输到目的地。为此,我正在使用 JSch 库。

我可以使用下面提到的远程机器代码获取文件列表或目录列表。

var jsch = new JSch();
jsch.setConfig('StrictHostKeyChecking','no');
var session = jsch.getSession('username','hostaddress',portnumber);
session.setPassword('password');
session.connect();
var channel = session.openChannel('sftp');
channel.connect();
channel.cd("/direcotry/");
var directoryList = channel.ls("*.txt");

但是是否有任何命令/代码可以使用 jcraft 从本地机器(Linux 操作系统)获取目录和文件列表?因为每次从源传输时目录和文件的数量都不同。

仅供参考。我需要在 mirth connect 中实现这个解决方案。

【问题讨论】:

  • 我无法理解这里的语言。这不是 JavaScript,因为 JCraft 是一个 Java 库,但代码不是 Java。这是 Groovy 吗?

标签: java jsch e4x mirth


【解决方案1】:

您使用 JSch 访问远程文件,而不是本地文件。


对于本地文件,使用列出您的语言/SDK 中可用的本地文件的函数。

对于 Java,请参阅 Read all files in a folder

【讨论】:

  • 嗯,这有助于我获取本地文件/目录,但我无法在远程机器上传输文件,也无法将其发送到 jsch 代码以在远程机器上传输该文件。
  • 您的问题是“如何列出本地文件”。不是如何上传它们。我已经回答了你的问题。要上传文件,请使用ChannelSftp.put
  • 感谢您的回答。
【解决方案2】:

org.apache.commons.io.FileUtils 有一个listFilesAndDirs 方法

https://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/FileUtils.html

【讨论】:

    猜你喜欢
    • 2013-04-14
    • 1970-01-01
    • 2016-07-11
    • 2020-07-03
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多