ICSharplibを使用してフォルダを圧縮する方法。圧縮中に暗号化パスワードを追加する方法はありますか?他のdllを使用できるオプションはありません。ICSharplibのみを使用する必要があります。
現在、このコードブロックを使用しています
private static void CompressFiles(string folderPath) {
string zipOutput = @"C:\temp\myoutput.zip";
try {
using (ZipOutputStream zs = new ZipOutputStream(File.Create(zipOutput))) {
zs.SetLevel(9); // 0-9 (9 being best compression)
foreach (string file in Directory.GetFiles(folderPath)) {
ZipEntry entry = new ZipEntry(Path.GetFileName(file));
entry.DateTime = DateTime.Now;
using (FileStream fs = File.OpenRead(file)) {
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
entry.Size = buffer.Length; // This is very important
zs.PutNextEntry(entry);
zs.Write(buffer, 0, buffer.Length);
}
}
zs.Finish();
zs.Close();
}
}
catch { throw; }
}
フォルダ内のすべてのファイルを圧縮できます。
しかし、私が欲しいのは、フォルダー全体を圧縮することです。横にあるフォルダと同様に、そのフォルダもzipファイルに含まれています。
前もって感謝します