[英]Getting "it is being used by another process" after trying to extract a ZIP file downloaded from SFTP server using SSH.NET
我想解壓縮文件時遇到問題。
從 SFTP 下載文件后,我想解壓縮它,但它總是告訴我它正在被另一個進程使用。
我想通過谷歌找到這個問題,但似乎沒有人有這個問題。
有人可以教我如何解決嗎? 非常感謝。
bool result = false;
string zipFile = "";
using (SftpClient sftp = new SftpClient(ip, user, pw))
{
sftp.Connect();
var sftpFiles = GetFileList("/", sftp);
zipFile = GetZipFile(sftpFiles);
if (zipFile != null)
{
var file = File.OpenWrite(fileName);
sftp.DownloadFile(fileName,file);
result = true;
sftp.Disconnect();
}
}
if (result)
{
using (ZipFile zipList = ZipFile.Read(fileName))
{
ZipEntry zipFile = zipList[fileName];
zipFile.Extract("/", ExtractExistingFileAction.OverwriteSilently);
}
}
下載后不要關閉文件。
下載代碼應該是這樣的:
using (var file = File.OpenWrite(fileName))
{
sftp.DownloadFile(fileName, file);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.