반응형
예제
public static bool ExtractZip(string filePath, string fileName, bool overwriting)
{
try
{
using (ZipArchive arch = ZipFile.Open(Path.Combine(filePath, fileName),
ZipArchiveMode.Update, Encoding.UTF8))
{
IReadOnlyCollection<ZipArchiveEntry> zipList = arch.Entries;
foreach (ZipArchiveEntry zipItem in zipList)
{
// 간혹 파일명을 잘못 읽을 경우, 파일명에 ?가 포함되어 Exception이 발생할 수 있음.
// ? 제거 작업
zipItem.ExtractToFile(Path.Combine(filePath, zipItem.FullName.Replace("?", "")), true);
}
}
return true;
}
catch
{
return false;
}
}
참고
Microsoft Docs - ZipArchive
Microsoft Docs - ZipArchiveEntry
테스트 환경
.NET 5 Console
반응형
'Develop > C#' 카테고리의 다른 글
[C#] ASP.NET API URL 대소문자 구분 안하게 설정 (0) | 2022.03.23 |
---|---|
[C#] ASP.NET API Cors 전체 허용 (0) | 2022.03.22 |
[C#] EUC-KR Encoding 추가 (2) | 2021.04.28 |
[C#] Thread 에서 Main Thread 간섭하기. (0) | 2019.04.02 |
[C#] 서비스 제어하기 (시작 / 종료 / 상태 검사) (0) | 2019.04.02 |