ICSharpCode.SharpZipLib dll을 사용하여 Zip 파일을 압축해제 하였다.
/// <summary>
/// 압축을 해제합니다.
/// </summary>
/// <param name="filename">파일 이름입니다.</param>
/// <param name="destination">압축 풀 위치입니다.</param>
static void DeCompression(string filename, string destination) {
string zipPath = filename;
FileStream fs = new FileStream(zipPath, FileMode.Open, FileAccess.Read, FileShare.Read);
ZipInputStream zis = new ZipInputStream(fs);
ZipEntry ze;
while ((ze = zis.GetNextEntry()) != null) {
if (!ze.IsDirectory) {
string fileName = Path.GetFileName(ze.Name);
string destDir = Path.Combine(destination, Path.GetDirectoryName(ze.Name));
if (false == Directory.Exists(destDir)) {
Directory.CreateDirectory(destDir);
}
string destPath = Path.Combine(destDir, fileName);
FileStream writer = new FileStream(destPath, FileMode.Create, FileAccess.Write, FileShare.Write);
byte[] buffer = new byte[2048];
int len;
while ((len = zis.Read(buffer, 0, buffer.Length)) > 0) {
writer.Write(buffer, 0, len);
}
writer.Close();
}
}
zis.Close();
fs.Close();
}
'개발 > C#' 카테고리의 다른 글
[C#] Linq, SingleOrDefault() vs FirstOrDefault() (0) | 2017.09.01 |
---|---|
url 호출하여 a 태그 정보 가져오기 (0) | 2017.05.10 |
JsonConvert Dll (0) | 2015.12.10 |
Class 내의 다른 Class 사용 시 (0) | 2015.12.09 |
HTTPWEBREQUEST 함수 (0) | 2015.12.08 |