c#解压后删除zip文件,需要检查解压完成吗?

问题描述 投票:0回答:1

(WPF C# 程序)

  • 我想将 File.zip 解压到某个目录,然后删除 File.zip,需要在删除之前检查是否完成(假设解压有效但速度很慢)。
  • 像这样,当我将一些文件复制到某个目录,然后进行操作时,我是否需要在操作后检查复制(假设也很慢)是否完成?
System.IO.Compression.ZipFile.ExtractToDirectory(File.zip, some_dir, true);
// need to check if unzip is done here (assume it works slow)
File.Delete(File.zip);
c# wpf
1个回答
0
投票

您可以只使用await,它会确保任务在移入代码之前完成 阅读有关异步编程

的更多信息
private async void UnzipAndDeleteFile(string zipPath, string extractPath)
{
    try
    {
        await Task.Run(() => ZipFile.ExtractToDirectory(zipPath, extractPath, true));

        if (File.Exists(zipPath))
        {
            File.Delete(zipPath);
        }

        MessageBox.Show("File unzipped and deleted successfully.");
    }
    catch (Exception ex)
    {
        MessageBox.Show($"An error occurred: {ex.Message}");
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.