Class RarArchive
Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)
이 클래스는 RAR 아카이브 파일을 나타냅니다. RAR 아카이브를 추출하는 데 사용합니다.
public class RarArchive : 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) 메서드를 참조하십시오.
예외
path
가 null입니다.
호출자가 필요한 권한을 가지고 있지 않습니다.
path
가 비어 있거나, 공백만 포함하거나, 유효하지 않은 문자를 포함하고 있습니다.
path
파일에 대한 접근이 거부되었습니다.
지정된 path
, 파일 이름 또는 둘 다 시스템에서 정의한 최대 길이를 초과합니다. 예를 들어, Windows 기반 플랫폼에서는 경로가 248자 미만이어야 하며, 파일 이름은 260자 미만이어야 합니다.
path
에 문자열의 중간에 콜론(:)이 포함되어 있습니다.
파일을 찾을 수 없습니다.
지정된 경로가 유효하지 않습니다. 예를 들어, 매핑되지 않은 드라이브에 있을 수 있습니다.
파일이 이미 열려 있습니다.
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) 메서드를 참조하십시오.
예외
sourceStream
가 탐색할 수 없습니다.
아카이브의 서명이 잘못되었습니다. - 또는 - 파일이 RAR 아카이브가 아닙니다.
속성
Entries
RAR 아카이브를 구성하는 Aspose.Zip.Rar.RarArchiveEntry 유형의 항목을 가져옵니다.
public ReadOnlyCollection<rararchiveentry> Entries { get; }
속성 값
ReadOnlyCollection<RarArchiveEntry>
메서드
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");
}
비고
디렉터리가 존재하지 않으면 생성됩니다.
예외
destinationDirectory
가 null입니다.
지정된 경로, 파일 이름 또는 둘 다 시스템에서 정의한 최대 길이를 초과합니다. 예를 들어, Windows 기반 플랫폼에서는 경로가 248자 미만이어야 하며, 파일 이름은 260자 미만이어야 합니다.
호출자가 기존 디렉터리에 접근할 수 있는 필요한 권한이 없습니다.
디렉터리가 존재하지 않는 경우, 경로에 드라이브 레이블(“C:")의 일부가 아닌 콜론(:) 문자가 포함되어 있습니다.
destinationDirectory
가 길이가 0인 문자열이거나, 공백만 포함하거나, 하나 이상의 유효하지 않은 문자를 포함하고 있습니다. 유효하지 않은 문자는 System.IO.Path.GetInvalidPathChars 메서드를 사용하여 조회할 수 있습니다. - 또는 - 경로가 콜론 문자(:)로 시작되거나 콜론 문자만 포함하고 있습니다.
지정된 경로의 디렉터리가 파일입니다. - 또는 - 네트워크 이름이 알려져 있지 않습니다.
ExtractToDirectory(string)
아카이브의 모든 파일을 제공된 디렉터리에 추출합니다.
public void ExtractToDirectory(string destinationDirectory)
매개변수
destinationDirectory
string
추출된 파일을 배치할 디렉터리의 경로입니다.
예제
using (var archive = new RarArchive("archive.rar"))
{
archive.ExtractToDirectory("C:\extracted");
}
비고
디렉터리가 존재하지 않으면 생성됩니다.
예외
destinationDirectory
가 null입니다.
지정된 경로, 파일 이름 또는 둘 다 시스템에서 정의한 최대 길이를 초과합니다. 예를 들어, Windows 기반 플랫폼에서는 경로가 248자 미만이어야 하며, 파일 이름은 260자 미만이어야 합니다.
호출자가 기존 디렉터리에 접근할 수 있는 필요한 권한이 없습니다.
디렉터리가 존재하지 않는 경우, 경로에 드라이브 레이블(“C:")의 일부가 아닌 콜론(:) 문자가 포함되어 있습니다.
destinationDirectory
가 길이가 0인 문자열이거나, 공백만 포함하거나, 하나 이상의 유효하지 않은 문자를 포함하고 있습니다. 유효하지 않은 문자는 System.IO.Path.GetInvalidPathChars 메서드를 사용하여 조회할 수 있습니다. - 또는 - 경로가 콜론 문자(:)로 시작되거나 콜론 문자만 포함하고 있습니다.
지정된 경로의 디렉터리가 파일입니다. - 또는 - 네트워크 이름이 알려져 있지 않습니다.