指定したzipアーカイブにファイルを作成または追加するコードがあります。私が見つけることができないのは、同じ名前の別のファイルを追加しようとしている場合に、zipファイルを置き換えるオプションです。zipの同じ名前のファイルを置き換えます。
private void button1_Click(object sender, EventArgs e)
{
if (oflFilesToZip.ShowDialog() == DialogResult.OK)
{
string[] files = oflFilesToZip.FileNames;
bool zipExists = File.Exists(zipPath);
ZipArchive zip;
if (zipExists)
{
zip = ZipFile.Open(zipPath, ZipArchiveMode.Update);
}
else zip = ZipFile.Open(zipPath, ZipArchiveMode.Create);
foreach (string file in files)
{
zip.CreateEntryFromFile(file, Path.GetFileName(file), CompressionLevel.Optimal);
}
zip.Dispose();
}
}
そのための方法はありますか、私には、例えば、手動で、zipファイルを開き、すべてのエントリを取得し、私はすでに追加しているファイル名は、ジップ内に存在する場合は、1つずつチェックしなければならないのですか?すでにその名前のエントリがあった場合
Zipファイルの性質を考えれば、古いエントリを削除して新しいエントリを追加することになります。 Replaceは、2つの操作を実行するヘルパーにすぎません。 – Richard