gpt4 book ai didi

c# - 如何确定文件是否在 SSH.NET 中完成下载

转载 作者:行者123 更新时间:2023-12-02 14:15:11 30 4
gpt4 key购买 nike

我在 SSH.NET/C# 中执行以下非常基本的任务,将文件从远程服务器下载到本地路径:

ConnectionInfo c = new PasswordConnectionInfo(remoteIP, port, username, password);
var sftp = new SftpClient(c);
sftp.Connect();
using (var stream = new FileStream(destinationFile, FileMode.Create))
{

//download the file to our local path
sftp.DownloadFile(fileName, stream);
stream.Close();

}

sftp.Disconnect();

现在确定文件是否完全下载成功,是否只是代码块到达stream.Close()?或者有没有更具体的方法来确定一切是否写得好?

编辑: This post如果您想查看已下载多少字节,可能会对某些人有所帮助。它还做了一个原始的进度条,很方便。我测试了帖子中的代码,它确实有效。

最佳答案

看着source code对于 SSH.NET,DownloadFile()是一个阻塞操作,在文件完全写入之前不会返回。

此外,调用stream.Close()不需要在 using block 内部,因为对象将在退出 block 时被处置。

关于c# - 如何确定文件是否在 SSH.NET 中完成下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20479120/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com