我正在使用客户端库来从远程主机(Renci.SshNet.Sftp
)读取和写入文件。上传和下载方法都是活动的 - 它们使用流,它们不返回Stream以供以后写入:
void SftpFile.UploadFile(Stream input, String path); // Reads from input and uploads
void SftpFile.DownloadFile(Stream output, String path); // Downloads and writes to output
我想下载一个文件并将其上传到其他位置。
我的限制是:
AFAIK我可以选择在它们之间运行两个线程和管道/缓冲数据(参见生产者/消费者问题)。
这不是一个罕见的设计问题。我用Java等其他语言多次点击它。但这是我第一次用c#命中它。在其他语言中,我被迫编写自己的Stream
类,作为两个线程之间的管道/缓冲区,并负责同步。
c#有没有什么可以解决这个问题?或者有谁知道解决问题的任何第三方图书馆?