Class XarArchive

Class XarArchive

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

이 클래스는 xar 아카이브 파일을 나타냅니다.

public class XarArchive : IArchive, IDisposable

상속

objectXarArchive

구현

IArchive, IDisposable

상속된 멤버

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

생성자

XarArchive(XarCompressionSettings)

Aspose.Zip.Xar.XarArchive 클래스의 새 인스턴스를 초기화합니다.

public XarArchive(XarCompressionSettings defaultCompressionSettings = null)

매개변수

defaultCompressionSettings XarCompressionSettings

아카이브의 모든 항목에 적용되는 기본 압축 설정입니다.

예제

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

using (var archive = new XarArchive())
{
    archive.CreateEntry("first.bin", "data.bin");
    archive.Save("archive.xar");
}

XarArchive(Stream, XarLoadOptions)

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

public XarArchive(Stream sourceStream, XarLoadOptions loadOptions = null)

매개변수

sourceStream Stream

아카이브의 소스입니다. 탐색 가능해야 합니다.

loadOptions XarLoadOptions

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

예제

다음 예제는 모든 항목을 디렉토리에 추출하는 방법을 보여줍니다.

using (var archive = new XarArchive(File.OpenRead("archive.xar")))
{
   archive.ExtractToDirectory("C:\\extracted");
}

비고

이 생성자는 어떤 항목도 언팩하지 않습니다. 언팩을 위한 Aspose.Zip.Xar.XarFileEntry.Open 메서드를 참조하십시오.

예외

ArgumentNullException

sourceStream이 null입니다.

ArgumentException

sourceStream이 탐색 가능하지 않습니다.

InvalidDataException

sourceStream이 유효한 xar 아카이브가 아닙니다.

XarArchive(string, XarLoadOptions)

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

public XarArchive(string path, XarLoadOptions loadOptions = null)

매개변수

path string

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

loadOptions XarLoadOptions

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

예제

다음 예제는 모든 항목을 디렉토리에 추출하는 방법을 보여줍니다.

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

비고

이 생성자는 어떤 항목도 언팩하지 않습니다. 언팩을 위한 Aspose.Zip.Xar.XarFileEntry.Open 메서드를 참조하십시오.

예외

ArgumentNullException

path이 null입니다.

SecurityException

호출자가 액세스할 수 있는 권한이 없습니다.

ArgumentException

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

UnauthorizedAccessException

path 파일에 대한 액세스가 거부되었습니다.

PathTooLongException

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

NotSupportedException

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

FileNotFoundException

파일을 찾을 수 없습니다.

DirectoryNotFoundException

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

IOException

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

InvalidDataException

path의 파일이 유효한 xar 아카이브가 아닙니다.

속성

Entries

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

public IEnumerable<xarentry> Entries { get; }

속성 값

IEnumerable<XarEntry&gt;

메서드

CreateEntries(string, bool, XarCompressionSettings)

지정된 디렉토리에서 모든 파일과 디렉토리를 재귀적으로 아카이브에 추가합니다.

public XarArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true, XarCompressionSettings compressionSettings = null)

매개변수

sourceDirectory string

압축할 디렉토리입니다.

includeRootDirectory bool

루트 디렉토리를 포함할지 여부를 나타냅니다.

compressionSettings XarCompressionSettings

추가된 Aspose.Zip.Xar.XarEntry 항목에 사용되는 압축 설정입니다.

반환

XarArchive

Xar 항목 인스턴스입니다.

예제

using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
{
    using (var archive = new XarArchive())
    {
        archive.CreateEntries(@"C:\folder", false);
        archive.Save(xarFile);
    }
}

예외

ArgumentNullException

sourceDirectory이 null입니다.

SecurityException

호출자가 sourceDirectory에 액세스할 수 있는 권한이 없습니다.

ArgumentException

sourceDirectory에 유효하지 않은 문자가 포함되어 있습니다. 예: “, <, >, 또는 |.

PathTooLongException

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

IOException

sourceDirectory가 파일을 나타내며 디렉토리가 아닙니다.

CreateEntries(DirectoryInfo, bool, XarCompressionSettings)

지정된 디렉토리에서 모든 파일과 디렉토리를 재귀적으로 아카이브에 추가합니다.

public XarArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true, XarCompressionSettings compressionSettings = null)

매개변수

directory DirectoryInfo

압축할 디렉토리입니다.

includeRootDirectory bool

루트 디렉토리를 포함할지 여부를 나타냅니다.

compressionSettings XarCompressionSettings

추가된 Aspose.Zip.Xar.XarEntry 항목에 사용되는 압축 설정입니다.

반환

XarArchive

Xar 항목 인스턴스입니다.

예제

using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
{
    using (var archive = new XarArchive())
    {
        archive.CreateEntries(new DirectoryInfo(@"C:\folder"), false);
        archive.Save(xarFile);
    }
}

예외

ArgumentNullException

directory가 null입니다.

SecurityException

호출자가 directory에 액세스할 수 있는 권한이 없습니다.

IOException

directory가 파일을 나타내며 디렉토리가 아닙니다.

CreateEntry(string, FileInfo, bool, XarCompressionSettings)

아카이브 내에서 단일 항목을 생성합니다.

public XarEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, XarCompressionSettings compressionSettings = null)

매개변수

name string

항목의 이름입니다.

fileInfo FileInfo

압축할 파일 또는 폴더의 메타데이터입니다.

openImmediately bool

파일을 즉시 열면 true, 그렇지 않으면 아카이브 저장 시 파일을 엽니다.

compressionSettings XarCompressionSettings

추가된 Aspose.Zip.Xar.XarEntry 항목에 사용되는 압축 설정입니다.

반환

XarEntry

Xar 항목 인스턴스입니다.

예제

FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new XarArchive())
{
    archive.CreateEntry("test.bin", fileInfo);
    archive.Save("archive.xar");
}

비고

파일이 openImmediately 매개변수로 즉시 열리면 아카이브가 폐기될 때까지 차단됩니다.

예외

ArgumentNullException

name이 null입니다.

ArgumentException

name이 비어 있습니다.

ArgumentNullException

fileInfo가 null입니다.

CreateEntry(string, string, bool, XarCompressionSettings)

아카이브 내에서 단일 항목을 생성합니다.

public XarEntry CreateEntry(string name, string sourcePath, bool openImmediately = false, XarCompressionSettings compressionSettings = null)

매개변수

name string

항목의 이름입니다.

sourcePath string

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

openImmediately bool

파일을 즉시 열면 true, 그렇지 않으면 아카이브 저장 시 파일을 엽니다.

compressionSettings XarCompressionSettings

추가된 Aspose.Zip.Xar.XarEntry 항목에 사용되는 압축 설정입니다.

반환

XarEntry

Xar 항목 인스턴스입니다.

예제

using (var archive = new XarArchive())
{
    archive.CreateEntry("first.bin", "data.bin");
    archive.Save("archive.xar");
}

비고

항목 이름은 name 매개변수 내에서만 설정됩니다. sourcePath 매개변수에 제공된 파일 이름은 항목 이름에 영향을 미치지 않습니다.

파일이 openImmediately 매개변수로 즉시 열리면 아카이브가 폐기될 때까지 차단됩니다.

예외

ArgumentNullException

sourcePath가 null입니다.

SecurityException

호출자가 액세스할 수 있는 권한이 없습니다.

ArgumentException

sourcePath이 비어 있거나, 공백만 포함하거나, 유효하지 않은 문자를 포함합니다. - 또는 - 파일 이름이 name의 일부로서 100자를 초과합니다.

UnauthorizedAccessException

sourcePath 파일에 대한 액세스가 거부되었습니다.

PathTooLongException

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

NotSupportedException

sourcePath의 파일이 문자열 중간에 콜론(:)을 포함하고 있습니다.

InvalidOperationException

xar 아카이브를 수정할 수 없습니다.

CreateEntry(string, Stream, XarCompressionSettings)

아카이브 내에서 단일 항목을 생성합니다.

public XarEntry CreateEntry(string name, Stream source, XarCompressionSettings compressionSettings = null)

매개변수

name string

항목의 이름입니다.

source Stream

항목의 입력 스트림입니다.

compressionSettings XarCompressionSettings

추가된 Aspose.Zip.Xar.XarEntry 항목에 사용되는 압축 설정입니다.

반환

XarEntry

Xar 항목 인스턴스입니다.

예제

using (var archive = new XarArchive())
{
    archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
    archive.Save("archive.xar");
}

예외

ArgumentNullException

name이 null입니다.

ArgumentNullException

source가 null입니다.

ArgumentException

name이 비어 있습니다.

InvalidOperationException

xar 아카이브를 수정할 수 없습니다.

DeleteEntry(XarEntry)

특정 항목의 첫 번째 발생을 항목 목록에서 제거합니다.

public XarArchive DeleteEntry(XarEntry entry)

매개변수

entry XarEntry

항목 목록에서 제거할 항목입니다.

반환

XarArchive

Xar 항목 인스턴스입니다.

예제

다음은 마지막 항목을 제외한 모든 항목을 제거하는 방법입니다:

using (var archive = new XarArchive("archive.xar"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries.FirstOrDefault());
    archive.Save(outputXarFile);
}

예외

ArgumentNullException

entry가 null입니다.

Dispose()

비관리 리소스를 해제, 해방 또는 재설정하는 응용 프로그램 정의 작업을 수행합니다.

public void Dispose()

Dispose(bool)

비관리 리소스를 해제, 해방 또는 재설정하는 응용 프로그램 정의 작업을 수행합니다.

protected virtual void Dispose(bool disposing)

매개변수

disposing bool

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

ExtractToDirectory(string)

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

public void ExtractToDirectory(string destinationDirectory)

매개변수

destinationDirectory string

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

예제

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

비고

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

예외

ArgumentNullException

path가 null입니다.

PathTooLongException

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

SecurityException

호출자가 기존 디렉토리에 액세스할 수 있는 권한이 없습니다.

NotSupportedException

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

ArgumentException

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

IOException

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

InvalidDataException

아카이브가 손상되었습니다.

Save(string, XarSaveOptions)

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

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

매개변수

destinationFileName string

생성할 아카이브의 경로입니다. 지정된 파일 이름이 기존 파일을 가리키면 덮어씁니다.

saveOptions XarSaveOptions

xar 아카이브를 저장하는 옵션입니다.

예외

ArgumentNullException

destinationFileName이 null입니다.

InvalidOperationException

xar 아카이브를 수정할 수 없습니다.

Save(Stream, XarSaveOptions)

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

public void Save(Stream output, XarSaveOptions saveOptions = null)

매개변수

output Stream

대상 스트림입니다.

saveOptions XarSaveOptions

xar 아카이브를 저장하는 옵션입니다.

예외

ArgumentNullException

output이 null입니다.

ArgumentException

output이 쓰기/읽기가 불가능하거나 탐색 가능하지 않습니다.

InvalidOperationException

xar 아카이브를 수정할 수 없습니다.

 한국어