2011-07-13 25 views
1

C#を使用してファイルを解凍するにはどうすればよいですか?私はサードパーティ製のライブラリを使用する必要があることを発見しました。直接の方法はありますか?C#を使用して圧縮ファイルを解凍する方法は?

+0

[C#でファイルを解凍するライブラリ/ APIを推奨](http:// stackoverflow。com/questions/1023476/recommend-a-library-api-to-unzip-file-in-c) – wRAR

+1

ちょっと違うようなので、正確なdupであることに基づいてこれを閉じる投票に同意しないでください答えが重複しても、その質問(システムライブラリと外部ライブラリを推奨することをお勧めします)。 – heisenberg

+0

@kekekelaありがとうalot – Adham

答えて

2

System.IO.Packaging名前空間には、ZipPackageなどの圧縮クラスがいくつか含まれていますが、サードパーティのライブラリを使用するのと同じくらい簡単なことではありません。第三者のライブラリを検討することを強くお勧めします。

2

あなたが圧縮するフレームワークのツールを使用することができ、そこcompessionライブラリの多くは、ネット上で出ているいくつかは、いくつかは、市販されている自由であるあなた

sinxe .NETの1.1を解凍します。 無料のライブラリは、#Zip、または無料のC#IDEの作成者、#developです。

.NET Framework 2.0では、ストリームの圧縮および解凍用にGZipStreamおよびDeflateStreamクラスが導入されました。

http://msdn2.microsoft.com/en-us/library/system.io.compression.gzipstream(VS.80).aspx

http://msdn2.microsoft.com/en-US/library/system.io.compression.deflatestream(VS.80).aspx

+1

+1 for #ZipLib ....ずっとずっとずっとずっとずっと使い続けています。良いもの... urlはhttp://sharpdevelop.net/OpenSource/SharpZipLib/です – ckramer

1

私はCodePlexにから無料Iconic Zipと素晴らしい運を持っていた。ここでは、MSDNのリンクです。それは非常に迅速に解凍し、解凍し、うまく動作し、サイズが小さくなります。それはMonoでも動作します。

0

zipファイルの場合、DotNetZipが有効です。 zipファイルをサポートするには、1つのアセンブリだけが必要です。

gzipファイルについては、System.IO.Compression namespace、またはDotNetZipでストリームを使用することができます。 *.tar.gzまたは*.tgz個のファイルがある場合は、tar(1)またはtar(5)も話す必要があります。

zlib圧縮データは、DotNetZipです。 zlibは、Deflateアルゴリズムを使用します。ただし、zlib 6System.IO.Compression.DeflateStreamが互換性があるかどうかはわかりません。

これらの圧縮形式をサポートする他のライブラリもありますが、その多くは管理されていないコードのラッパーです。それが良いか悪いかは、あなたの要求にかかっています。

DotNetZipは純粋なマネージコードです。私のテストは、それがInfo-Zip's open-source zip/unzipの実装とほぼ同じ速度で動作することを示しています。結果の圧縮ファイルは、バイト一致ではありませんが、互換性があり、ほぼ同じ圧縮率を持ちます。

関連する問題