java - Java中通过SSH2的远程主机文件操作

标签 java ssh file-listing

我现在有一个简单的任务:连接到远程服务器并获取文件列表及其信息(特别是创建日期)。

尝试过 JSch,但这就像 20 年前编写 unix 应用程序。想切换到 sshj,所以如果可能的话,请提供一些代码来说明如何至少实现文件列表及其信息(理想情况下,我想获得一个 File 对象数组)。

那么我怎样才能达到目标呢?

提前致谢。

注意:AFAIU 只有在服务器端使用 ls 并解析它才有可能,不是吗?

最佳答案

他们将示例与源代码分发捆绑在一起。你看他们了吗?我在 2 分钟内找到了这个:sshj: how to execute remote command example

编辑:

好的,您可以执行例如(基于我链接的示例):

final Command cmd = session.exec("ls -l /some/interesting/dir");
String lsOutput = cmd.getOutputAsString();

// parse lsOutput and extract required information
...

如果您想通过 ssh 进行操作,没有更简单的方法,因为它没有文件等概念。它只是一个远程 shell。也许 sftp 可以在这里提供一些更好的界面,但我不是 sftp 的专家。

关于java - Java中通过SSH2的远程主机文件操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5484816/

相关文章:

java - Sun Codemodel 泛型方法调用

unix - 如何在unix中传输数据

C# 使用 ftpRequest 获取完整的文件列表很慢

git - 如何从已知主机列表中删除永久添加的主机?

java - 如何在windows平台上显示android文件浏览器

bash - 如何获取指定时间范围内的文件列表

java - java中如何使用synchronized方法实现线程的同步?

java - 用于编码 ASCII 的不可映射字符,但我的文件是 UTF-8

java - 在 EC2 上运行的 tomcat 8 上使用 VisualVM

google-cloud-platform - 如何更改默认的 Google Cloud 用户名?