【问题标题】:Java File Transfer using JSch使用 JSch 进行 Java 文件传输
【发布时间】:2016-01-27 10:11:55
【问题描述】:

我的 Java SFTP 传输应用程序使用保存在磁盘上的文件运行良好。我喜欢更改逻辑以使用字符串或流。我能找到的所有信息是它只需要FileInputStream。任何帮助都会很棒。

ChannelSftp c = createSession();
try {
    File f = new File(workingFile);
    c.put(new FileInputStream(f), f.getName());
} catch (Exception e) {
    System.err.println("Storing remote file failed. "+e.toString());
    throw e;
}

【问题讨论】:

    标签: java jsch


    【解决方案1】:

    基于 Paŭlo Ebermann 维护的 JSch 0.1.44(非官方)Javadoc 发现 hereChannelSftp 有几个重载的 put(...) 方法。因此,您可以提供InputStream(或任何子类),而不仅仅是FileInputStream 参考。例如,put(InputStream src, String dst) 会将输入流src 中的文件上传到dst,这是相对于当前远程目录的远程目标文件名

    您还可以提供要传输的文件的String 路径。比如put(String src, String dst)方法带参数:

    • src - 本地源文件名,绝对或相对于当前本地目录
    • dst - 远程目标文件名,绝对或相对于当前远程目录

    【讨论】:

    • 如何将字符串转换为 InputStream 对象?我一直在使用此代码进行测试 var is = new ByteArrayInputStream(connectorMessage.getRawData());
    • @THOMASJ.Mcdevitt:在 Java 中你可以试试thisthis
    猜你喜欢
    • 2013-02-13
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    • 2017-02-25
    • 2015-07-18
    • 1970-01-01
    • 2018-02-16
    相关资源
    最近更新 更多