ZipEntry內部有一個公共函數,用於爲您清理名稱。 「ZipEntry.CleanName(yourstring)」。在添加條目並嘗試刪除條目時進行此調用。 注:如果您正在使用此文件路徑,將正確解釋的zip文件的路徑,即使CleanName函數替換「\」和「/」
**
ADDING的ZipEntry
**
zipEntryKey = file.FullName.Replace(file.Directory.Root.ToString(), string.Empty);
zipEntryKey = ZipEntry.CleanName(zipEntryKey);
ZipEntry entry = new ZipEntry(zipEntryKey);
entry.DateTime = file.LastWriteTime;
Stream fileStream = Minify(file);
byte[] buffer = new byte[fileStream.Length];
entry.Size = fileStream.Length;
fileStream.Read(buffer, 0, buffer.Length);
fileStream.Close();
zipStream.PutNextEntry(entry);
zipStream.Write(buffer, 0, buffer.Length);
zipStream.CloseEntry();
DELETING的ZipEntry
zipEntryKey = file.FullName.Replace(file.Directory.Root.ToString(), string.Empty);
zipEntryKey = ZipEntry.CleanName(zipEntryKey);
if (existingZip.FindEntry(zipEntryKey, true) > -1)
{
existingZip.BeginUpdate();
ZipEntry Existing = existingZip[existingZip.FindEntry(zipEntryKey, true)];
existingZip.Delete(Existing);
existingZip.CommitUpdate();
}
該解決方案是在創建時間zip文件不是在它的閱讀。 – 2011-03-14 22:25:16