Class Bzip2Archive

Class Bzip2Archive

Namespace: Aspose.Zip.Bzip2
Assembly: Aspose.Zip.dll (25.1.0)

이 클래스는 bzip2 아카이브 파일을 나타냅니다. bzip2 아카이브를 구성하거나 추출하는 데 사용합니다.

public class Bzip2Archive : IArchive, IDisposable, IArchiveFileEntry

상속

objectBzip2Archive

구현

IArchive, IDisposable, IArchiveFileEntry

상속된 멤버

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

비고

bzip2는 Burrows-Wheeler 블록 정렬 텍스트 압축 알고리즘과 허프만 코딩을 사용하여 파일을 압축합니다. 자세한 내용은 다음을 참조하세요: https://en.wikipedia.org/wiki/Bzip2

생성자

Bzip2Archive()

압축을 위해 준비된 Aspose.Zip.Bzip2.Bzip2Archive 클래스의 새 인스턴스를 초기화합니다.

public Bzip2Archive()

예제

다음 예제는 파일을 압축하는 방법을 보여줍니다.

using (Bzip2Archive archive = new Bzip2Archive()) 
{
    archive.SetSource("data.bin");
    archive.Save("archive.bz2");
}

Bzip2Archive(Stream, Bzip2LoadOptions)

압축 해제를 위해 준비된 Aspose.Zip.Bzip2.Bzip2Archive 클래스의 새 인스턴스를 초기화합니다.

public Bzip2Archive(Stream sourceStream, Bzip2LoadOptions loadOptions = null)

매개변수

sourceStream Stream

아카이브의 소스입니다.

loadOptions Bzip2LoadOptions

아카이브를 로드할 옵션입니다.

예제

스트림에서 아카이브를 열고 MemoryStream으로 추출합니다.

var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive(File.OpenRead("archive.bz2")))
  archive.Open().CopyTo(ms);

비고

이 생성자는 압축 해제를 수행하지 않습니다. 압축 해제를 위한 Aspose.Zip.Bzip2.Bzip2Archive.Open 메서드를 참조하세요.

Bzip2Archive(string, Bzip2LoadOptions)

압축 해제를 위해 준비된 Aspose.Zip.Bzip2.Bzip2Archive 클래스의 새 인스턴스를 초기화합니다.

public Bzip2Archive(string path, Bzip2LoadOptions loadOptions = null)

매개변수

path string

아카이브 파일의 경로입니다.

loadOptions Bzip2LoadOptions

아카이브를 로드할 옵션입니다.

예제

경로를 통해 파일에서 아카이브를 열고 MemoryStream으로 추출합니다.

var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
  archive.Open().CopyTo(ms);

비고

이 생성자는 압축 해제를 수행하지 않습니다. 압축 해제를 위한 Aspose.Zip.Bzip2.Bzip2Archive.Open 메서드를 참조하세요.

예외

ArgumentNullException

path가 null입니다.

SecurityException

호출자가 필요한 권한을 가지고 있지 않습니다.

ArgumentException

path가 비어 있거나, 공백만 포함하거나, 유효하지 않은 문자를 포함하고 있습니다.

UnauthorizedAccessException

path에 대한 파일 접근이 거부되었습니다.

PathTooLongException

지정된 path, 파일 이름 또는 둘 다 시스템 정의 최대 길이를 초과합니다. 예를 들어, Windows 기반 플랫폼에서는 경로가 248자 미만이어야 하며, 파일 이름은 260자 미만이어야 합니다.

NotSupportedException

path에 문자열 중간에 콜론(:)이 포함되어 있습니다.

FileNotFoundException

파일을 찾을 수 없습니다.

DirectoryNotFoundException

지정된 경로가 유효하지 않습니다. 예를 들어, 매핑되지 않은 드라이브에 있을 수 있습니다.

IOException

파일이 이미 열려 있습니다.

메서드

Dispose()

비관리 리소스를 해제, 릴리스 또는 초기화하는 애플리케이션 정의 작업을 수행합니다.

public void Dispose()

Dispose(bool)

비관리 리소스를 해제, 릴리스 또는 초기화하는 애플리케이션 정의 작업을 수행합니다.

protected virtual void Dispose(bool disposing)

매개변수

disposing bool

관리 리소스를 해제해야 하는지 여부입니다.

Extract(Stream)

제공된 스트림으로 아카이브를 추출합니다.

public void Extract(Stream destination)

매개변수

destination Stream

대상 스트림. 쓰기 가능해야 합니다.

예제

using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
{
     archive.Extract(httpResponseStream);
}

예외

ArgumentException

destination는 쓰기를 지원하지 않습니다.

Extract(string)

경로로 파일에 아카이브를 추출합니다.

public FileInfo Extract(string path)

매개변수

path string

대상 파일의 경로입니다. 파일이 이미 존재하는 경우 덮어씌워집니다.

반환

FileInfo

추출된 파일의 정보입니다.

예외

ArgumentNullException

path가 null입니다.

SecurityException

호출자가 필요한 권한을 가지고 있지 않습니다.

ArgumentException

path가 비어 있거나, 공백만 포함하거나, 유효하지 않은 문자를 포함하고 있습니다.

UnauthorizedAccessException

path에 대한 파일 접근이 거부되었습니다.

PathTooLongException

지정된 path, 파일 이름 또는 둘 다 시스템 정의 최대 길이를 초과합니다. 예를 들어, Windows 기반 플랫폼에서는 경로가 248자 미만이어야 하며, 파일 이름은 260자 미만이어야 합니다.

NotSupportedException

path에 문자열 중간에 콜론(:)이 포함되어 있습니다.

FileNotFoundException

파일을 찾을 수 없습니다.

DirectoryNotFoundException

지정된 경로가 유효하지 않습니다. 예를 들어, 매핑되지 않은 드라이브에 있을 수 있습니다.

IOException

파일이 이미 열려 있습니다.

ExtractToDirectory(string)

아카이브의 내용을 제공된 디렉터리에 추출합니다.

public void ExtractToDirectory(string destinationDirectory)

매개변수

destinationDirectory string

추출된 파일을 배치할 디렉터리의 경로입니다.

비고

디렉터리가 존재하지 않으면 생성됩니다.

예외

ArgumentNullException

destinationDirectory가 null입니다.

PathTooLongException

지정된 경로, 파일 이름 또는 둘 다 시스템 정의 최대 길이를 초과합니다. 예를 들어, Windows 기반 플랫폼에서는 경로가 248자 미만이어야 하며, 파일 이름은 260자 미만이어야 합니다.

SecurityException

호출자가 기존 디렉터리에 접근하기 위한 필요한 권한을 가지고 있지 않습니다.

NotSupportedException

디렉터리가 존재하지 않는 경우, 경로에 드라이브 레이블(“C:")의 일부가 아닌 콜론(:) 문자가 포함되어 있습니다.

ArgumentException

destinationDirectory가 길이가 0인 문자열이거나, 공백만 포함하거나, 하나 이상의 유효하지 않은 문자를 포함하고 있습니다. 유효하지 않은 문자는 System.IO.Path.GetInvalidPathChars 메서드를 사용하여 조회할 수 있습니다. - 또는 - 경로가 콜론 문자(:)로만 접두사되거나 포함되어 있습니다.

IOException

지정된 경로가 파일입니다. - 또는 - 네트워크 이름을 알 수 없습니다.

Open()

추출을 위해 아카이브를 열고 아카이브 내용을 제공하는 스트림을 제공합니다.

public Stream Open()

반환

Stream

아카이브의 내용을 나타내는 스트림입니다.

예제

사용법: Stream decompressed = archive.Open();

.NET 4.0 및 이후 버전 - Stream.CopyTo 메서드를 사용하세요: decompressed.CopyTo(httpResponse.OutputStream)

.NET 3.5 및 이전 버전 - 바이트를 수동으로 복사합니다:

byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
 fileStream.Write(buffer, 0, bytesRead);
```</p>

#### 비고

스트림에서 읽어 원래 파일의 내용을 가져옵니다. 예제 섹션을 참조하세요.

### <a id="Aspose_Zip_Bzip2_Bzip2Archive_Save_System_IO_Stream_Aspose_Zip_Bzip2_Bzip2SaveOptions_"></a> Save\(Stream, Bzip2SaveOptions\)

제공된 스트림으로 아카이브를 저장합니다.

```csharp
public void Save(Stream outputStream, Bzip2SaveOptions saveOptions = null)

매개변수

outputStream Stream

대상 스트림입니다.

saveOptions Bzip2SaveOptions

bzip2 아카이브를 저장하기 위한 옵션입니다. 지정하지 않으면 900 Kb 블록 크기가 사용됩니다.

예제

압축된 데이터를 http 응답 스트림에 씁니다.

using (var archive = new Bzip2Archive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save(httpResponse.OutputStream);
}

비고

outputStream는 쓰기 가능해야 합니다.

예외

InvalidOperationException

아카이브할 데이터의 소스가 제공되지 않았습니다.

ArgumentException

outputStream는 쓰기 가능하지 않습니다.

UnauthorizedAccessException

파일 소스가 읽기 전용이거나 디렉터리입니다.

DirectoryNotFoundException

지정된 파일 소스 경로가 유효하지 않습니다. 예를 들어, 매핑되지 않은 드라이브에 있을 수 있습니다.

IOException

파일 소스가 이미 열려 있습니다.

Save(string, Bzip2SaveOptions)

제공된 대상 파일에 아카이브를 저장합니다.

public void Save(string destinationFileName, Bzip2SaveOptions saveOptions = null)

매개변수

destinationFileName string

생성될 아카이브의 경로입니다. 지정된 파일 이름이 기존 파일을 가리키는 경우 덮어씌워집니다.

saveOptions Bzip2SaveOptions

bzip2 아카이브를 저장하기 위한 옵션입니다. 지정하지 않으면 900 Kb 블록 크기가 사용됩니다.

예제

압축된 데이터를 파일에 씁니다.

using (var archive = new Bzip2Archive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save("data.bz2");
}

예외

ArgumentNullException

destinationFileName가 null입니다.

SecurityException

호출자가 필요한 권한을 가지고 있지 않습니다.

ArgumentException

destinationFileName가 비어 있거나, 공백만 포함하거나, 유효하지 않은 문자를 포함하고 있습니다.

UnauthorizedAccessException

destinationFileName에 대한 파일 접근이 거부되었습니다.

PathTooLongException

지정된 destinationFileName, 파일 이름 또는 둘 다 시스템 정의 최대 길이를 초과합니다. 예를 들어, Windows 기반 플랫폼에서는 경로가 248자 미만이어야 하며, 파일 이름은 260자 미만이어야 합니다.

NotSupportedException

destinationFileName에 문자열 중간에 콜론(:)이 포함되어 있습니다.

SetSource(Stream)

아카이브 내에서 압축할 내용을 설정합니다.

public void SetSource(Stream source)

매개변수

source Stream

아카이브의 입력 스트림입니다.

예제

using (Bzip2Archive archive = new Bzip2Archive()) 
{
    archive.SetSource(new MemoryStream(new byte[] { 0x00,0xFF }));
    archive.Save("archive.bz2");
}

SetSource(FileInfo)

아카이브 내에서 압축할 내용을 설정합니다.

public void SetSource(FileInfo fileInfo)

매개변수

fileInfo FileInfo

압축할 파일에 대한 참조입니다.

예제

using (Bzip2Archive archive = new Bzip2Archive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save("archive.bz2");
}

SetSource(string)

아카이브 내에서 압축할 내용을 설정합니다.

public void SetSource(string path)

매개변수

path string

압축할 파일의 경로입니다.

예제

using (Bzip2Archive archive = new Bzip2Archive()) 
{
    archive.SetSource("data.bin");
    archive.Save("archive.bz2");
}

예외

ArgumentNullException

path가 null입니다.

SecurityException

호출자가 필요한 권한을 가지고 있지 않습니다.

ArgumentException

path가 비어 있거나, 공백만 포함하거나, 유효하지 않은 문자를 포함하고 있습니다.

UnauthorizedAccessException

path에 대한 파일 접근이 거부되었습니다.

PathTooLongException

지정된 path, 파일 이름 또는 둘 다 시스템 정의 최대 길이를 초과합니다. 예를 들어, Windows 기반 플랫폼에서는 경로가 248자 미만이어야 하며, 파일 이름은 260자 미만이어야 합니다.

NotSupportedException

path에 문자열 중간에 콜론(:)이 포함되어 있습니다.

SetSource(TarArchive, TarFormat)

아카이브 내에서 압축할 내용을 설정합니다.

public void SetSource(TarArchive tarArchive, TarFormat format = TarFormat.UsTar)

매개변수

tarArchive TarArchive

압축할 tar 아카이브입니다.

format TarFormat

tar 헤더 형식을 정의합니다.

예제

using (var tarArchive = new TarArchive())
{
    tarArchive.CreateEntry("first.bin", "data1.bin");
    tarArchive.CreateEntry("second.bin", "data2.bin");
    using (var bzippedArchive = new Bzip2Archive())
    {
        bzippedArchive.SetSource(tarArchive);
        bzippedArchive.Save("archive.tar.bz2");
    }
}

비고

이 메서드를 사용하여 결합된 tar.bz2 아카이브를 구성합니다.

SetSource(CpioArchive, CpioFormat)

아카이브 내에서 압축할 내용을 설정합니다.

public void SetSource(CpioArchive cpioArchive, CpioFormat format = CpioFormat.OldAscii)

매개변수

cpioArchive CpioArchive

압축할 Cpio 아카이브입니다.

format CpioFormat

cpio 헤더 형식을 정의합니다.

예제

using (var cpioArchive = new CpioArchive())
{
    cpioArchive.CreateEntry("first.bin", "data1.bin");
    cpioArchive.CreateEntry("second.bin", "data2.bin");
    using (var bzippedArchive = new Bzip2Archive())
    {
        bzippedArchive.SetSource(cpioArchive);
        bzippedArchive.Save("archive.cpio.bz2");
    }
}

비고

이 메서드를 사용하여 결합된 cpio.bz2 아카이브를 구성합니다.

 한국어