2

例から、zip ファイルを解凍する方法をかなりよく理解できました。

ほぼすべての例で、ZipEntry がディレクトリであることを識別する方法は次のとおりです。

string directoryName = Path.GetDirectoryName(theEntry.Name);
string fileName = Path.GetFileName(theEntry.Name);

if (directoryName.Length > 0)
  Directory.CreateDirectory(Path.Combine(destinationDirectory, directoryName));                    

if (fileName != String.Empty)
{
  //read data and write to file
}

これで問題なく、ファイルが抽出されると、すべての (ディレクトリが検出され、作成されます) ディレクトリが使用可能になります。

ファイルを zip に追加することはできますが、フォルダを追加するにはどうすればよいですか? ディレクトリをループして、見つかったファイルを追加する (そして、ZipEntry.Name プロパティが適切に入力される) ことは理解していますが、ZipEntry をアーカイブに追加し、それがディレクトリであることを ZipOutputStream に指示するにはどうすればよいですか?

4

1 に答える 1

1

ZipFile.AddDirectoryあなたが望むことをします。ここに小さなサンプルコードがあります。

于 2011-06-15T15:10:00.537 に答える