반응형

[Save Zip Example]

Sting(Text)를 Zip파일로 저장.

public void SaveFileWithString()
{
  using (var zip = new ZipFile(Encoding.UTF8))
  {
      zip.CompressionLevel = CompressionLevel.BestSpeed;
      //string을 파일로 저장하기 위한 추가.
      string text= "저장할 텍스트";
      zip.AddEntiry("압축파일내 경로", text);
      zip.Save("zip파일 저장 경로")

  }
}

Directory를 Zip파일로 압축 저장.

public void SaveFileWithDirectory(string addDirectory, string saveZipPath)
{
    using (var zip = new ZipFile(Encoding.UTF8))
    {
        zip.AddDirectory(addDirectory, "압축파일내 저장경로");
        zip.Save(saveZipPath);
    }
}

[Load Zip Example]

zip파일 내에 Text파일을 추출 하기.

public void LoadFileWithPath(string loadZipFile, string archiveInPath)
{
    if (!ZipFile.IsZipFile(loadZipFile)) return;

    using (var zip = ZipFile.Read(loadZipFile))
    {
        var filesInZip = zip.SelectEntries("name = *.txt", archiveInPath); // archiveInPath 경로의 모든 파일 .txt 파일을 추출.

        foreach (var zipEntry in filesInZip)
        {
            if(!zipEntry.IsText) continue; //텍스트 파일인 경우만.

            using (var ms = new MemoryStream())
            {
                zipEntry.Extract(ms);
                ms.Seek(0, SeekOrigin.Begin);
                using (var sr = new StreamReader(ms))
                {
                    var resultString = sr.ReadToEnd();//text 파일을 가져온다.
                }
            }

        }
    }
}

+ Recent posts