使用JSch的Java文件传输
我有一个Java SFTP Transfer应用程序使用保存在磁盘上的文件正常工作。 我喜欢改变使用字符串或流的逻辑。 我能找到的所有信息都只需要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;
}
基于PaŭloEbermann在这里发现的JSch 0.1.44 (非官方)Javadoc, ChannelSftp
有几个重载的put(...)
方法。 所以你可以提供一个InputStream
(或任何子类),而不仅仅是一个FileInputStream
引用。 例如, put(InputStream src, String dst)
会将输入流src
中的文件上载到相对于当前远程目录的dst
(远程目标文件名)。
您还可以将String
路径提供给您要传输的文件。 例如,带参数的put(String src, String dst)
方法:
src
- 本地源文件名,绝对或相对于当前本地目录。 dst
- 绝对或相对于当前远程目录的远程目标文件名。 上一篇: Java File Transfer using JSch
下一篇: Charset in Jsoup