트레이닝 센터

리포트 생성과 문서 변환

C1Zip:표준Zip파일 처리

본문은 표준 Zip파일 만들기, 열기, 편집을 포함하는 C1Zip의 C1ZipFile유형을 사용하여 Zip 파일을 어떻게 처리하는지 소개합니다. 또한 Zip파일 속의 항목, 추가, 삭제, 압축 해제 또는 조사한 파일을 열거할 수 있습니다. 모든 폴더를 압축하고 비밀번호를 사용하여 보호 / 암호화 합니다.

C1ZipFile은 zip파일유형을 처리합니다. C1ZipFile은 C1ZipFile.Entries 속성을 가지고 있습니다. 해당 속성은 zip 파일의 항목 집합을 대표합니다.


Zip파일 만들기

만들기: C1ZipFile의 Create를 이용하여 데이터 흐름이나 드라이브 상에서 새로운 Zip파일을 만들 수 있습니다.

열기: C1ZipFile의 Open을 이용하여 데이터 흐름이나 드라이브 상에서 Zip파일을 열 수 있습니다.


Zip파일 처리

Zip파일의 항목 열거: C1ZipFile.Entrie 집합을 통해 Zip 파일에 있는 모든 항목을 확인할 수 있습니다. 코드를 통해 파일의 상세한 정보, 각 항목의 경로 정보 및 Zip 파일의 주석을 확인할 수 있습니다.

// fill out list
var zec = _zipFile.Entries;
listView.BeginUpdate();
foreach (C1ZipEntry ze in zec)
{
	var fa = ze.Attributes;
	var entry = new String[] 
        	{
                        FileName(ze.FileName),                      // file name, no extension
                        FileExtension(ze.FileName),                 // file extension, no dot
                        ze.Date.ToString("MM/dd/yy  HH:mm"),        // mod date/time
                        ze.SizeUncompressedLong.ToString("#,##0"),  // original size
                        ze.SizeCompressedLong.ToString("#,##0"),    // compressed size
                        AttribString(ze.Attributes),                // encode as "rahs"
			((uint)ze.CRC32).ToString(),                // CRC32 (unsigned looks better)
			ze.Comment                                  // user comment
                    };
                var lvi = new ListViewItem(entry);
                lvi.Tag = ze;
                lvi.ImageIndex = ((ze.Attributes & FileAttributes.Directory) != 0)? 0: 1;
                if (ze.IsEncrypted) lvi.ImageIndex = 3;
                listView.Items.Add(lvi);
}

파일추가:C1ZipFile.Entries.Add방법을 사용하여 파일을 현재 열려 있는 Zip파일에 추가할 수 있습니다.

폴더추가:C1ZipFile.Entries.AddFolder방법을 사용하여 폴더의 전체 파일을 현재 열려 있는 Zip파일에 추가할 수 있습니다.

압축:C1ZipFile.CompressionLevel속성으로 파일 항목을 취득하고 설정하여Zip파일의 압축 등급 별로 추가합니다. 먼저, C1ZipFile의 CompressionLevel속성을 설정한 후,Add나 AddFolder방법을 사용하여 파일을 Zip파일에 추가하면 설정된 압축 등급 별로 추가하게 됩니다. 감춰진 압축등급은 C1.C1Zip.CompressionLevelEnum.DefaultCompression입니다. 해당 압축등급의 유형은 다음과 같습니다. :


// 적요:
    //     Specifies the level of compression to be applied when adding entries to a
    //     C1.C1Zip.C1ZipFile.
    public enum CompressionLevelEnum
    {
        // 적요:
        //     High compression, high speed.
        DefaultCompression = -1,
        //
        // 적요:
        //     No Compression.
        NoCompression = 0,
        //
        // 적요:
        //     Low compression, highest speed.
        BestSpeed = 1,
        //
        // 적요:
        //     Highest compression, low speed.
        BestCompression = 9,
    }

파일삭제:C1ZipFile.Entries.Remove방법을 사용하여 현재 열려 있는Zip파일의 특정 항목을 삭제합니다.

압축 해제:C1ZipFile.Entries.Extract 방법을 사용하여 현재 열려 있는Zip파일의 압축을 해제 합니다.

파일주석:C1ZipFile.Comment속성을 사용하여 Zip파일의 관련 파일 주석을 얻거나 설정합니다.

암호 보호:C1ZipFile.Password속성은 암호를 설정하거나 취득할 수 있습니다. Zip파일 추가와 파일 항목 복구에 사용됩니다.


본문에 첨부된 Demo를 실행하여 Zip 파일을 엽니다. 다음과 같이 모든 항목이 표시됩니다. 그리고 메뉴를 이용해 추가, 변경, 삭제 등의 작업을 할 수 있습니다.



본문 Demo의 소스코드는 다음과 같습니다. :


샘플 다운로드



한국 그레이프시티 공식카페에서 기술지원을 받으실 수 있습니다.
이메일을 통해서도 기술지원을 받으실 수 있습니다.