Class RarArchive

Class RarArchive

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

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

public class RarArchive : IArchive, IDisposable

상속

objectRarArchive

구현

IArchive, IDisposable

상속된 멤버

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

생성자

RarArchive(string, RarArchiveLoadOptions)

Aspose.Zip.Rar.RarArchive 클래스의 새 인스턴스를 초기화하고 아카이브에서 추출할 수 있는 항목 목록을 구성합니다.

public RarArchive(string path, RarArchiveLoadOptions loadOptions = null)

매개변수

path string

아카이브 파일에 대한 완전한 경로 또는 상대 경로입니다.

loadOptions RarArchiveLoadOptions

기존 아카이브를 로드하는 옵션입니다.

예제

다음 예제는 아카이브를 추출한 다음 첫 번째 항목을 MemoryStream으로 압축 해제합니다.

var extracted = new MemoryStream();
using (RarArchive archive = new RarArchive("data.rar"))
{
    using (var decompressed = archive.Entries[0].Open())
    {
        byte[] b = new byte[8192];
        int bytesRead;
        while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
            extracted.Write(b, 0, bytesRead);
    }
}

비고

이 생성자는 어떤 항목도 압축 해제하지 않습니다. 압축 해제를 위해서는 Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) 메서드를 참조하십시오.

예외

ArgumentNullException

path가 null입니다.

SecurityException

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

ArgumentException

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

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

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

FileNotFoundException

파일을 찾을 수 없습니다.

DirectoryNotFoundException

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

IOException

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

RarArchive(Stream, RarArchiveLoadOptions)

Aspose.Zip.Rar.RarArchive 클래스의 새 인스턴스를 초기화하고 아카이브에서 추출할 수 있는 항목 목록을 구성합니다.

public RarArchive(Stream sourceStream, RarArchiveLoadOptions loadOptions = null)

매개변수

sourceStream Stream

아카이브의 소스입니다.

loadOptions RarArchiveLoadOptions

기존 아카이브를 로드하는 옵션입니다.

예제

다음 예제는 첫 번째 항목을 MemoryStream으로 해독하고 압축 해제합니다.

var fs = File.OpenRead("encrypted.rar");
var extracted = new MemoryStream();
using (RarArchive archive = new RarArchive(fs, new RarArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
    using (var decompressed = archive.Entries[0].Open())
    {
        byte[] b = new byte[8192];
        int bytesRead;
        while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
            extracted.Write(b, 0, bytesRead);
    }
}

비고

이 생성자는 어떤 항목도 압축 해제하지 않습니다. 압축 해제를 위해서는 Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) 메서드를 참조하십시오.

예외

ArgumentException

sourceStream가 탐색할 수 없습니다.

InvalidDataException

아카이브의 서명이 잘못되었습니다. - 또는 - 파일이 RAR 아카이브가 아닙니다.

속성

Entries

RAR 아카이브를 구성하는 Aspose.Zip.Rar.RarArchiveEntry 유형의 항목을 가져옵니다.

public ReadOnlyCollection<rararchiveentry> Entries { get; }

속성 값

ReadOnlyCollection<RarArchiveEntry&gt;

메서드

Dispose(bool)

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

protected virtual void Dispose(bool disposing)

매개변수

disposing bool

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

Dispose()

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

public void Dispose()

ExtractToDirectory(string, string)

아카이브의 모든 파일을 제공된 디렉터리에 추출합니다.

[Obsolete("For extraction encrypted RAR archive please provide password in constructor with Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword")]
public void ExtractToDirectory(string destinationDirectory, string password = null)

매개변수

destinationDirectory string

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

password string

암호 해제를 위한 선택적 비밀번호입니다.

예제

using (var archive = new RarArchive("archive.rar")) 
{ 
   archive.ExtractToDirectory("C:\extracted", "$ecRet");
}

비고

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

예외

ArgumentNullException

destinationDirectory가 null입니다.

PathTooLongException

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

SecurityException

호출자가 기존 디렉터리에 접근할 수 있는 필요한 권한이 없습니다.

NotSupportedException

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

ArgumentException

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

IOException

지정된 경로의 디렉터리가 파일입니다. - 또는 - 네트워크 이름이 알려져 있지 않습니다.

ExtractToDirectory(string)

아카이브의 모든 파일을 제공된 디렉터리에 추출합니다.

public void ExtractToDirectory(string destinationDirectory)

매개변수

destinationDirectory string

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

예제

using (var archive = new RarArchive("archive.rar")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

비고

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

예외

ArgumentNullException

destinationDirectory가 null입니다.

PathTooLongException

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

SecurityException

호출자가 기존 디렉터리에 접근할 수 있는 필요한 권한이 없습니다.

NotSupportedException

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

ArgumentException

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

IOException

지정된 경로의 디렉터리가 파일입니다. - 또는 - 네트워크 이름이 알려져 있지 않습니다.

 한국어