gpt4 book ai didi

C# 压缩文件。如何提取或跳过名称中包含无效字符的文件?

转载 作者:太空宇宙 更新时间:2023-11-03 15:21:38 25 4
gpt4 key购买 nike

我在 .zip 存档中有一个名为 “The Shooting Star”.jpeg 的文件。当我尝试通过 ZipFile.ExtractToDirectoryZipArchiveEntry.ExtractToFile 提取它时,我得到了 System.ArgumentException: Illegal characters in path 异常。

通过WinRar成功解压该文件。

有没有办法使用 ZipFile 避免异常并成功提取文件或至少跳过此类文件?

更新:

上传上述文件:The Archive

最佳答案

您可以重新格式化源名称以从源名称中删除非法字符。

 var illegalChars = Path.GetInvalidFileNameChars();
var destName = sourceName.Where(x => !illegalChars.Contains(x)).Aggregate("", (current, x) => current + x);

sourceName 是存档中的文件名,那么您可以使用 ZipArchiveEntry.ExtractToFile 并为其指定一个正确的目标文件名。

关于C# 压缩文件。如何提取或跳过名称中包含无效字符的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37123470/

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