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