【发布时间】:2020-05-24 05:38:34
【问题描述】:
我正在使用System.IO.Compression 和ZipFile.ExtractToDirectory。我看到一个人使用 3 个参数,两个字符串和一个布尔值。当我试图准确地复制他所做的事情时,我得到了一个错误。我知道ZipFile 可以是编码或布尔值,但我希望它是布尔值。我有什么需要改变的吗?
我正在使用 .NET Framework 4.7.2
这里是任何可能认为会有所帮助的人的代码。这也是我正在关注的视频。它有他在哪里输入 ZipFile 行的时间戳。 https://youtu.be/JIjZQo03YdA?t=420
private void DownloadGameCompletedCallback(object sender, AsyncCompletedEventArgs e)
{
try
{
string onlineVersion = ((Version)e.UserState).ToString();
ZipFile.ExtractToDirectory(gameZip, rootPath, true);
File.Delete(gameZip);
File.WriteAllText(versionFile, onlineVersion);
VersionText.Text = onlineVersion;
Status = LauncherStatus.READY;
}
catch (Exception ex)
{
Status = LauncherStatus.FAILED;
MessageBox.Show($"Error finishing download: {ex}");
}
}
【问题讨论】:
-
转到/使用 API 参考。这就是你得到的。平台之间偶尔会有小的偏差。无论如何 - docs.microsoft.com/en-us/dotnet/api/… 应该是类型有效的(其中布尔第三个参数 = overwriteFiles),假设其他两个参数确实是字符串并且环境如所声称的那样。
-
你希望true的第三个参数是什么意思?
-
你能告诉我们gameZip和rootPath的声明吗?
-
@David.Warwick 覆盖文件的真正手段。
-
@KlausGütter gameZip 是 sourceArchiveFileName 而 rootPath 是 destinationDirectoryName。