圧縮ファイルをプログラムで解凍しようとしています。
.NET でクラスを使用しようとしましたSystem.IO.Compression.GZipStream
が、アプリを実行すると (実際には単体テスト)、次の例外が発生します。
System.IO.InvalidDataException: GZip ヘッダーのマジック ナンバーが正しくありません。GZip ストリームを渡していることを確認してください。
ファイルはファイルと同じではなく、ファイル.zip
と同じではないことに気付きました。.gz
GZip
Zip
ただし、zipファイルを手動でダブルクリックしてから[すべてのファイルを抽出]ボタンをクリックすると、ファイルを抽出できるため、コードでもそれを行う方法があるはずです。
Process.Start()
したがって、圧縮ファイルへのパスを入力として使用しようとしました。これにより、私のアプリは、圧縮されたファイルの内容を表示するウィンドウを開きます。これで問題ありませんが、アプリはサーバーにインストールされ、[すべてのファイルを抽出] ボタンをクリックする必要はありません。
では、アプリで zip ファイル内のファイルを抽出するにはどうすればよいでしょうか?
または、それを行う別の方法はありますか?サードパーティのライブラリやアプリをダウンロードせずに、コードで行うことを好みます。セキュリティ部門はそれについてあまり空想的ではありません...