我在.zip存档中有一个名为“The Shooting Star”.jpeg
的文件。
当我尝试通过ZipFile.ExtractToDirectory
或ZipArchiveEntry.ExtractToFile
提取时,我得到System.ArgumentException: Illegal characters in path
例外。
通过WinRar成功提取此类文件。
有没有办法使用ZipFile避免异常并成功提取文件或至少跳过此类文件?
更新
上传了所述档案:The Archive
答案 0 :(得分:0)
您可以重新格式化源名称以从源名称中删除非法字符。
var illegalChars = Path.GetInvalidFileNameChars();
var destName = sourceName.Where(x => !illegalChars.Contains(x)).Aggregate("", (current, x) => current + x);
sourceName是存档中的文件名,然后您可以使用ZipArchiveEntry.ExtractToFile并为其提供已更正的目标文件名。