ChannelSftp
类的get()
和put()
方法版本没有返回任何内容,或者返回InputStream
/ OutputStream
。
使用返回流的方法以及逐字节读取/写入文件的用例是什么,而不是使用简单的get()
和put()
方法来指定源和目标路径,并让程序为您做一切?
我的猜测是,如果您正在下载并播放视频/音频文件将是一种情况,但如果您只是将文件移入/从一台服务器移动到另一台服务器怎么办?那么使用流的任何一点呢?
答案 0 :(得分:1)
与任何其他I / O接口一样,当您不操作文件而是内存数据时,带流的变体很有用。
例如,您可能已根据用户输入生成了内容,并且您希望上传它。您不需要文件中的本地副本。因此,您将内存中的数据流式传输到SFTP。
Streams也是有用的抽象。
如果要从文件上载或下载到文件,请使用带路径的重载。在这种情况下,创建文件流是不必要的开销。