Class SharArchive

Class SharArchive

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

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

public class SharArchive : IDisposable

상속

objectSharArchive

구현

IDisposable

상속된 멤버

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

생성자

SharArchive()

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

public SharArchive()

예제

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

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

SharArchive(string)

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

public SharArchive(string path)

매개변수

path string

아카이브의 소스 경로입니다.

예외

ArgumentNullException

path가 null입니다.

SecurityException

호출자가 접근할 수 있는 권한이 없습니다.

ArgumentException

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

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

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

FileNotFoundException

파일을 찾을 수 없습니다.

DirectoryNotFoundException

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

IOException

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

속성

Entries

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

public ReadOnlyCollection<sharentry> Entries { get; }

속성 값

ReadOnlyCollection<SharEntry&gt;

메서드

CreateEntries(string, bool)

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

public SharArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)

매개변수

sourceDirectory string

압축할 디렉터리입니다.

includeRootDirectory bool

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

반환

SharArchive

Shar 항목 인스턴스입니다.

예제

using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
    using (var archive = new SharArchive())
    {
        archive.CreateEntries("C:\folder", false);
        archive.Save(sharFile);
    }
}

예외

ArgumentNullException

sourceDirectory가 null입니다.

SecurityException

호출자가 sourceDirectory에 접근할 수 있는 권한이 없습니다.

ArgumentException

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

PathTooLongException

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

IOException

sourceDirectory가 디렉터리가 아닌 파일을 나타냅니다.

CreateEntries(DirectoryInfo, bool)

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

public SharArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)

매개변수

directory DirectoryInfo

압축할 디렉터리입니다.

includeRootDirectory bool

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

반환

SharArchive

Shar 항목 인스턴스입니다.

예제

using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
    using (var archive = new SharArchive())
    {
        archive.CreateEntries(new DirectoryInfo("C:\folder"), false);
        archive.Save(sharFile);
    }
}

예외

ArgumentNullException

directory가 null입니다.

SecurityException

호출자가 directory에 접근할 수 있는 권한이 없습니다.

IOException

directory가 디렉터리가 아닌 파일을 나타냅니다.

CreateEntry(string, FileInfo, bool)

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

public SharEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false)

매개변수

name string

항목의 이름입니다.

fileInfo FileInfo

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

openImmediately bool

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

반환

SharEntry

Shar 항목 인스턴스입니다.

예제

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

비고

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

예외

ArgumentNullException

name이 null입니다.

ArgumentException

name이 비어 있습니다.

ArgumentNullException

fileInfo가 null입니다.

CreateEntry(string, string, bool)

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

public SharEntry CreateEntry(string name, string sourcePath, bool openImmediately = false)

매개변수

name string

항목의 이름입니다.

sourcePath string

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

openImmediately bool

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

반환

SharEntry

Shar 항목 인스턴스입니다.

예제

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

비고

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

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

예외

ArgumentNullException

sourcePath가 null입니다.

SecurityException

호출자가 접근할 수 있는 권한이 없습니다.

ArgumentException

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

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

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

CreateEntry(string, Stream)

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

public SharEntry CreateEntry(string name, Stream source)

매개변수

name string

항목의 이름입니다.

source Stream

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

반환

SharEntry

Shar 항목 인스턴스입니다.

예제

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

예외

ArgumentNullException

name이 null입니다.

ArgumentNullException

source가 null입니다.

ArgumentException

name이 비어 있습니다.

DeleteEntry(SharEntry)

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

public SharArchive DeleteEntry(SharEntry entry)

매개변수

entry SharEntry

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

반환

SharArchive

Shar 항목 인스턴스입니다.

예제

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

using (var archive = new SharArchive("archive.shar"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries[0]);
    archive.Save(outputSharFile);
}

예외

ArgumentNullException

entry가 null입니다.

DeleteEntry(int)

인덱스로 항목 목록에서 항목을 제거합니다.

public SharArchive DeleteEntry(int entryIndex)

매개변수

entryIndex int

제거할 항목의 0부터 시작하는 인덱스입니다.

반환

SharArchive

항목이 삭제된 아카이브입니다.

예제

using (var archive = new SharArchive("two_files.shar"))
{
    archive.DeleteEntry(0);
    archive.Save("single_file.shar");
}

예외

ArgumentOutOfRangeException

entryIndex가 0보다 작습니다. - 또는 - entryIndexEntries 수와 같거나 그 이상입니다.

Dispose(bool)

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

protected virtual void Dispose(bool disposing)

매개변수

disposing bool

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

Dispose()

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

public void Dispose()

Save(string)

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

public void Save(string destinationFileName)

매개변수

destinationFileName string

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

예제

using (var archive = new SharArchive())
{
    archive.CreateEntry("entry1", "data.bin");        
    archive.Save("archive.shar");
}

비고

아카이브는 로드된 동일한 경로에 저장할 수 있습니다. 그러나 이 접근 방식은 임시 파일로 복사하는 방식을 사용하므로 권장되지 않습니다.

예외

ArgumentException

destinationFileName이 길이가 0인 문자열이거나, 공백만 포함하거나, System.IO.Path.InvalidPathChars로 정의된 하나 이상의 유효하지 않은 문자를 포함합니다.

ArgumentNullException

destinationFileName이 null입니다.

PathTooLongException

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

DirectoryNotFoundException

지정된 destinationFileName이 유효하지 않습니다. (예: 매핑되지 않은 드라이브에 있습니다).

IOException

파일을 열 때 I/O 오류가 발생했습니다.

UnauthorizedAccessException

destinationFileName이 읽기 전용 파일을 지정했으며 읽기 권한이 없습니다. - 또는 - 지정된 경로가 디렉터리입니다. - 또는 - 호출자가 필요한 권한이 없습니다.

NotSupportedException

destinationFileName이 잘못된 형식입니다.

FileNotFoundException

파일을 찾을 수 없습니다.

Save(Stream)

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

public void Save(Stream output)

매개변수

output Stream

대상 스트림입니다.

예제

using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
    using (var archive = new SharArchive())
    {
        archive.CreateEntry("entry1", "data.bin");        
        archive.Save(sharFile);
    }
}

비고

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

예외

ArgumentNullException

output가 null입니다.

ArgumentException

output가 쓰기 불가능합니다. - 또는 - output가 추출하는 동일한 스트림입니다.

 한국어