【问题标题】:File tranfer using SCP protocol使用 SCP 协议传输文件
【发布时间】:2013-12-15 08:41:56
【问题描述】:

需要一个 Java 程序将多个文件从本地 Windows 复制到 Linux 服务器,反之亦然(上传和下载)。我编写了一个适用于单个文件传输的实用程序。但是当涉及到多个文件时,同时列出目录中的文件。由于问题目录分隔符,文件没有被搜索出来。在 Windows 中它是“\”,而 Linux 是“/”。有没有免费的图书馆可以帮助做到这一点?

它应该使用 SCP 协议。这是 sn-p 对我来说是主要问题:

String files;
System.out.println("files=");
System.out.println();
File folder = new File(path);
System.out.println("folder="+folder);
File[] listOfFiles = folder.listFiles();

for (int i = 0; i < listOfFiles.length; i++) 
{

    if (listOfFiles[i].isFile()) 
    {
        files = listOfFiles[i].getName();
        System.out.println("hello here are files");
        System.out.println(files);
    }
}

【问题讨论】:

标签: java apache scp jsch


【解决方案1】:

JSch 你可能会感兴趣。它用于在两台主机之间建立安全通道 - 您可以将其用于 SSH、SCP、SFTP 等。

建立连接示例:example

SCP 示例(直接来自 JCraft):example

这是获取目录中文件的所有属性(来自File 对象的源和目标绝对路径)的方法:http://pastebin.com/FXS9cHPW

【讨论】:

  • 感谢您的快速回复.. SFTP 的示例显示...我需要专门用于多文件传输的 SCP。如果有的话,请您粘贴一些示例....
  • 当然。我直接从 JSch 的开发人员那里编辑了一个示例。干杯!
  • 是的,这适用于单个文件...我面临多个文件的问题..说当我给 .txt ,.Jepg ,或者只是 * 它应该工作..你能帮我做相应的修改吗?
  • 难道你不能对所有你需要的文件做同样的事情吗?制作一个包含它们的List&lt;File&gt; files,然后是for(File thisFile : files){.. 我可能没有看到确切的问题,抱歉:(
  • 是的,问题出在...当我尝试使用上面的 sn-p 列出文件时,由于跨平台兼容性问题,您给出的结果没有列出任何文件..
猜你喜欢
  • 2021-02-08
  • 2016-09-30
  • 1970-01-01
  • 1970-01-01
  • 2014-10-23
  • 2020-03-04
  • 1970-01-01
  • 2013-10-12
  • 1970-01-01
相关资源
最近更新 更多