gpt4 book ai didi

c# - ZipFile.ExtractToDirectory 抛出长文件名

转载 作者:太空宇宙 更新时间:2023-11-03 22:47:34 24 4
gpt4 key购买 nike

我正在解压这样的 zip 文件

ZipFile.ExtractToDirectory(zipFile, extractTo);

但是我得到了一个

{"Could not find a part of the path 'C:\\....many subfolders\\Extremely long filename'."}

zip 文件包含一个路径和文件名都很长的文件 c.a.总共 280 个字符。我不确定这是否是我启用长路径的问题,如此处所示 https://blogs.msdn.microsoft.com/jeremykuhne/2016/07/30/net-4-6-2-and-long-paths-on-windows-10/

如果我在资源管理器中打开路径,它会打开,但长文件名的文件不存在。如果我打开 zip 文件,文件就在那里,所以提取长文件名的文件似乎有问题。

是否可以在 zip 解压过程中跳过文件或允许解压具有长文件名的文件?

最佳答案

using (ZipArchive archive = ZipFile.OpenRead(zipPath))
{
foreach (ZipArchiveEntry entry in archive.Entries)
{
if (entry.FullName.Length > 280)
continue;

entry.ExtractToFile(Path.Combine("your path", entry.FullName));
}
}

ZipFile.OpenRead 将允许您检查 zip 文件的内容。然后您可以通过 .Entries 属性枚举以找出存档中的所有文件,并根据文件名长度决定是否继续提取。

关于c# - ZipFile.ExtractToDirectory 抛出长文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49177684/

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