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

+ Recent posts