다음 해결책을 통해 파일을 압축하는 유틸리티 메서드를 만들었습니다. 나는 기존의 것과 동일한 이름을 가진 .zip 아카이브를 생성 할 때 그것을 덮어 쓸 것이라는 인상을 받았다. 이 경우는 아니지만 파일이 이미 있음을 알리는 예외가 발생합니다. 기존 zip 파일을 덮어 쓰려면 어떻게합니까?
public static void CompressFile(string zipName, string filePath, string fileName)
{
try
{
using (ZipArchive archive = ZipFile.Open(zipName, ZipArchiveMode.Create))
{
archive.CreateEntryFromFile(filePath, fileName, CompressionLevel.Fastest);
}
}
catch(Exception e)
{
_log.Error("Exception Caught: {0}", e.Message);
}
}
내가 없거나 내가 동일한 이름의 기존 아카이브를 삭제 수표를 작성해야 할거야 부울 덮어 쓰기의 param 곳이 있습니까?
https://msdn.microsoft.com/en-us/library/system.io.compression.ziparchivemode%28v=vs.110%29.aspx "만 허용된다 새 아카이브 항목을 작성" –
및 https://msdn.microsoft.com/en-us/library/hh485716%28v=vs.110%29.aspx :'모드 매개 변수를 만들기로 설정하면 FileMode.CreateNew를 사용하여 아카이브가 열립니다. 파일 모드 값. 아카이브가 이미 존재하면 IOException이 발생합니다. ' –