SharpZipLib を使用して、既存の zip ファイルにファイルを追加しています。
using (ZipFile zf = new ZipFile(zipFile)) {
zf.BeginUpdate();
foreach (FileInfo fileInfo in fileInfos) {
string name = fileInfo.FullName.Substring(rootDirectory.Length);
FileAttributes attributes = fileInfo.Attributes;
if (clearArchiveAttribute) attributes &= ~FileAttributes.Archive;
zf.Add(fileInfo.FullName, name);
//TODO: Modify file attribute?
}
zf.CommitUpdate();
zf.Close();
}
ここでのタスクは、Archive
ファイル属性をクリアすることです。
しかし残念ながら、これはZipOutputStream
and setを使用して新しい zip ファイルを作成する場合にのみ可能であることがわかりましたExternalFileAttributes
。
// ...
ZipEntry entry = new ZipEntry(name);
entry.ExternalFileAttributes = (int)attributes;
// ...
ファイルを追加してファイル属性を変更する方法はありますか?
これは DotNetZip で可能ですか?