我正在尝试编写程序来解压缩压缩文件。
我尝试使用.NET中的System.IO.Compression.GZipStream
类,但当我的应用程序运行(实际上是单元测试)时,我会收到此异常:
System.IO.InvalidDataException: GZip头中的魔术数字不正确。 确保您传递了GZip流。
我现在意识到一个.zip
文件不同于一个.gz
文件,并且GZip
与Zip
也不同。
然而,由于我能够通过手动双击压缩文件并单击“提取所有文件”按钮来提取文件,因此我认为也应该有一种在代码中实现这个操作的方法。
因此,我尝试使用Process.Start()
作为输入参数,将路径设置为压缩文件的路径。这会导致我的应用程序打开一个窗口,显示压缩文件中的内容。这很好,但是该应用程序将被安装在没有人点击“提取所有文件”按钮的服务器上。
那么,如何让我的应用程序提取压缩文件中的文件?
或者还有其他方法吗? 我更喜欢在代码中完成,而不需要下载任何第三方库或应用程序; 安全部门对此并不太感冒...