C#で圧縮されたフォルダーのコンテンツ名、つまり圧縮フォルダー内のファイルとフォルダーの名前を取得するにはどうすればよいですか? GZipStreamのみを使用してzipを解凍したい。
ありがとう、カピル
C#で圧縮されたフォルダーのコンテンツ名、つまり圧縮フォルダー内のファイルとフォルダーの名前を取得するにはどうすればよいですか? GZipStreamのみを使用してzipを解凍したい。
ありがとう、カピル
GZipStreamのみを使用してこれを行うことはできません。#ziplibなどの ZIP 標準の実装が必要になります。MSDN からの引用:
拡張子が .gz のファイルに書き込まれた圧縮された GZipStream オブジェクトは、多くの一般的な圧縮ツールを使用して解凍できます。ただし、このクラスは、.zip アーカイブにファイルを追加したり、.zip アーカイブからファイルを抽出したりするための機能を本質的に提供していません。
#ziplib を使用した例:
using (var stream = File.OpenRead("test.zip"))
using (var zipStream = new ZipInputStream(stream))
{
ZipEntry entry;
while ((entry = zipStream.GetNextEntry()) != null)
{
// entry.IsDirectory, entry.IsFile, ...
Console.WriteLine(entry.Name);
}
}