RarArchive.RarArchive

RarArchive(string, RarArchiveLoadOptions)

의 새 인스턴스를 초기화합니다.RarArchive 클래스 및 작성 항목 목록은 아카이브에서 추출할 수 있습니다.

public RarArchive(string path, RarArchiveLoadOptions loadOptions = null)
모수유형설명
pathString아카이브 파일의 정규화된 경로 또는 상대 경로입니다.
loadOptionsRarArchiveLoadOptions기존 아카이브를 로드하는 옵션.

예외

예외상태
ArgumentNullExceptionpath null입니다.
SecurityException호출자에게 액세스에 필요한 권한이 없습니다.
ArgumentException그만큼path 비어 있거나 공백만 포함하거나 잘못된 문자를 포함합니다.
UnauthorizedAccessException파일에 대한 액세스path 거부되었습니다.
PathTooLongException지정된path, 파일 이름 또는 둘 다 시스템 정의 최대 길이를 초과합니다. 예를 들어 Windows 기반 플랫폼에서 경로는 248자 미만이어야 하고 파일 이름은 260자 미만이어야 합니다.
NotSupportedException파일 위치path 문자열 중간에 콜론(:)을 포함합니다.

비고

이 생성자는 항목의 압축을 풀지 않습니다. 보다Open 압축 해제 방법.

다음 예는 아카이브를 추출한 다음 첫 번째 항목을메모리 스트림.

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);
    }
}

또한보십시오


RarArchive(Stream, RarArchiveLoadOptions)

의 새 인스턴스를 초기화합니다.RarArchive 클래스 및 작성 항목 목록은 아카이브에서 추출할 수 있습니다.

public RarArchive(Stream sourceStream, RarArchiveLoadOptions loadOptions = null)
모수유형설명
sourceStreamStream아카이브의 소스입니다.
loadOptionsRarArchiveLoadOptions기존 아카이브를 로드하는 옵션.

예외

예외상태
ArgumentExceptionsourceStream 찾을 수 없습니다.
InvalidDataException아카이브에 대한 잘못된 서명입니다. - 또는 - 파일이 RAR 아카이브가 아닙니다.
InvalidOperationException

비고

이 생성자는 항목의 압축을 풀지 않습니다. 보다Open 압축 해제 방법.

다음 예제는 첫 번째 항목을 해독하고 압축을 풉니다.메모리 스트림.

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);
    }
}

또한보십시오