【转】JSch - Java实现的SFTP(文件下载详解篇)
2017-01-03 21:59
591 查看
上一篇讲述了使用JSch实现文件上传的功能,这一篇主要讲述一下JSch实现文件下载的功能。并介绍一些SFTP的辅助方法,如cd,ls等。 同样,JSch的文件下载也支持三种传输模式:OVERWRITE, RESUME和APPEND,请参考上篇随笔:JSch - Java实现的SFTP(文件上传详解篇)
JSch文件下载是通过调用ChannelSftp对象的get方法来实现的。ChannelSftp中有9个get方法的重载方法:
应用实例:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201912/26/56e6408e1539defabc74facc3617d8d1.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201912/26/56e6408e1539defabc74facc3617d8d1.png)
JSch文件下载与文件上传的传输进度,都是通过实现SftpProgressMonitor接口来实现的。所以这里不在详述,请直接参见上篇随笔:JSch - Java实现的SFTP(文件上传详解篇)
来源: http://www.cnblogs.com/longyg/archive/2012/06/25/2561332.html
来自为知笔记(Wiz)
文件下载 |
publicvoid get(String src, String dst) | 将目标服务器上文件名为src的文件下载到本地,本地文件名为dst。若dst为目录,则下载到本地的文件名将与src文件名相同。(注:src必须是文件,不能为目录)采用默认的传输模式:OVERWRITE |
publicvoid get(String src, String dst, SftpProgressMonitor monitor) | 将目标服务器上文件名为src的文件下载到本地,本地文件名为dst。若dst为目录,则下载到本地的文件名将与src文件名相同。(注:src必须是文件,不能为目录)采用默认的传输模式:OVERWRITE并使用实现了SftpProgressMonitor接口的monitor对象来监控文件的传输进度。 |
publicvoid get(String src, String dst,SftpProgressMonitor monitor, int mode) | 将目标服务器上文件名为src的文件下载到本地,本地文件名为dst。若dst为目录,则下载到本地的文件名将与src文件名相同。(注:src必须是文件,不能为目录)指定文件传输模式为mode(mode可选值为:ChannelSftp.OVERWRITE,ChannelSftp.RESUME,ChannelSftp.APPEND)并使用实现了SftpProgressMonitor接口的monitor对象来监控文件的传输进度。 |
publicvoid get(String src, OutputStream dst) | 将目标服务器上文件名为src的文件下载到本地,下载的数据写入到输出流对象dst(如:文件输出流)。采用默认的传输模式:OVERWRITE |
publicvoid get(String src, OutputStream dst, SftpProgressMonitor monitor) | 将目标服务器上文件名为src的文件下载到本地,下载的数据写入到输出流对象dst(如:文件输出流)。采用默认的传输模式:OVERWRITE并使用实现了SftpProgressMonitor接口的monitor对象来监控文件的传输进度。 |
publicvoid get(String src, OutputStream dst, SftpProgressMonitor monitor, int mode, long skip) | 将目标服务器上文件名为src的文件下载到本地,下载的数据写入到输出流对象dst(如:文件输出流)。指定文件传输模式为mode并使用实现了SftpProgressMonitor接口的monitor对象来监控文件的传输进度。skip指定了一个跳读量,即下载时从src文件跳过skip字节的数据。(一般不推荐使用该参数,默认设为0) |
public InputStream get(String src) | 该方法返回一个输入流,该输入流含有目标服务器上文件名为src的文件数据。可以从该输入流中读取数据,最终将数据传输到本地(如:读取数据后将数据写入到本地的文件中)(注:该方法不支持多种文件传输模式,如何读取与保存数据由应用程序自己确定) |
public InputStream get(String src, SftpProgressMonitor monitor) | 该方法返回一个输入流,该输入流含有目标服务器上文件名为src的文件数据。可以从该输入流中读取数据,最终将数据传输到本地(如:读取数据后将数据写入到本地的文件中)并使用实现了SftpProgressMonitor接口的monitor对象来监控文件的传输进度。(注:该方法不支持多种文件传输模式,如何读取与保存数据由应用程序自己确定) |
public InputStream get(String src, final SftpProgressMonitor monitor, finallong skip) | 该方法返回一个输入流,该输入流含有目标服务器上文件名为src的文件数据。可以从该输入流中读取数据,最终将数据传输到本地(如:读取数据后将数据写入到本地的文件中)并使用实现了SftpProgressMonitor接口的monitor对象来监控文件的传输进度。(注:该方法不支持多种文件传输模式,如何读取与保存数据由应用程序自己确定)skip指定了一个跳读量,即下载时从src文件跳过skip字节的数据。(一般不推荐使用该参数,默认设为0) |
![](https://oscdn.geek-share.com/Uploads/Images/Content/201912/26/56e6408e1539defabc74facc3617d8d1.png)
Transferring begin. Start to read input stream Currently transferred total size: 2048 bytes Currently transferred total size: 4096 bytes Currently transferred total size: 6144 bytes Currently transferred total size: 8192 bytes Currently transferred total size: 10240 bytes Currently transferred total size: 12288 bytes Currently transferred total size: 14336 bytes ...
![](https://oscdn.geek-share.com/Uploads/Images/Content/201912/26/56e6408e1539defabc74facc3617d8d1.png)
JSch文件下载与文件上传的传输进度,都是通过实现SftpProgressMonitor接口来实现的。所以这里不在详述,请直接参见上篇随笔:JSch - Java实现的SFTP(文件上传详解篇)
来源: http://www.cnblogs.com/longyg/archive/2012/06/25/2561332.html
来自为知笔记(Wiz)
相关文章推荐
- JSch - Java实现的SFTP(文件下载详解篇)
- JSch - Java实现的SFTP(文件下载详解篇)
- 【转】JSch - Java实现的SFTP(文件下载详解篇)
- JSch - Java实现的SFTP(文件下载详解篇)
- JSch - Java实现的SFTP(文件下载详解篇)
- JSch - Java实现的SFTP(文件下载详解篇)
- 【转】JSch - Java实现的SFTP(文件下载详解篇)
- JSch - Java实现的SFTP(文件下载详解篇)(转)
- JSch - Java实现的SFTP(文件下载详解篇)
- JSch - Java实现的SFTP(文件下载详解篇)
- JSch - Java实现的SFTP(文件下载详解篇)
- JSch - Java实现的SFTP(文件下载详解篇)
- JSch - Java实现的SFTP(文件下载详解篇)
- JSch - Java实现的SFTP(文件下载详解篇)
- JSch - Java实现的SFTP(文件上传详解篇)
- JSch - Java实现的SFTP(文件上传详解篇)
- JSch____Java实现SFTP文件上传下载…
- JSch:纯JAVA实现SFTP文件上传和下载
- JSch - Java实现的SFTP(文件下载详解篇
- JSch - Java实现的SFTP(文件上传详解篇)