我想用 c# (VS2012) 中的 ZipFile 类解压缩文件。即使我直接从 win explorer 复制路径,我也会收到此错误:
System.ArgumentException: Illegales Zeichen im Pfad。bei System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional) bei System.IO.Path.GetFileName(String path) bei System.IO.Compression.ZipHelper.EndsWithDirChar(String test) bei System.IO.Compression.ZipArchiveEntry。 set_FullName(字符串值)
在 System.IO.Compression.ZipArchiveEntry..ctor(ZipArchive archive, ZipCentralDirectoryFileHeader cd) 在 System.IO.Compression.ZipArchive.ReadCentralDirectory() 在 System.IO.Compression.ZipArchive.get_Entries() 在 System.IO.Compression.ZipFileExtensions .ExtractToDirectory(ZipArchive source, String destinationDirectoryName) bei System.IO.Compression.ZipFile.ExtractToDirectory(String sourceArchiveFileName, String destinationDirectoryName, Encoding entryNameEncoding) bei System.IO.Compression.ZipFile.ExtractToDirectory(String sourceArchiveFileName, String destinationDirectoryName) beiWindowsFormsApplication1。 .buttonStartNxtOSEK_Click(Object sender, EventArgs e) in d:\C#\nxtOSEKInstaller\nxtOSEKSetup\WindowsFormsApplication1\Form1.cs:Zeile 192。
代码:
string zipPath = @"D:\C#\nxtOSEKInstaller\nxtOSEKSetup\WindowsFormsApplication1\bin\Debug\res\package.zip";
string extractPath = @"D:\testcyginstall\cygwin";
textBoxProgress.AppendText("Entpacke .... ");
try {
ZipFile.ExtractToDirectory(zipPath, extractPath);
} catch …Run Code Online (Sandbox Code Playgroud)