Class SharArchive
Namespace: Aspose.Zip.Shar
Assembly: Aspose.Zip.dll (25.1.0)
이 클래스는 shar 아카이브 파일을 나타냅니다.
public class SharArchive : 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
아카이브의 소스 경로입니다.
예외
path
가 null입니다.
호출자가 접근할 수 있는 권한이 없습니다.
path
가 비어 있거나, 공백만 포함하거나, 유효하지 않은 문자를 포함합니다.
파일 path
에 대한 접근이 거부되었습니다.
지정된 path
, 파일 이름 또는 둘 다 시스템 정의 최대 길이를 초과합니다. 예를 들어, Windows 기반 플랫폼에서는 경로는 248자 미만이어야 하며, 파일 이름은 260자 미만이어야 합니다.
path
에 문자열 중간에 콜론(:)이 포함되어 있습니다.
파일을 찾을 수 없습니다.
지정된 경로가 유효하지 않습니다. 예를 들어, 매핑되지 않은 드라이브에 있을 수 있습니다.
파일이 이미 열려 있습니다.
속성
Entries
아카이브를 구성하는 Aspose.Zip.Shar.SharEntry 유형의 항목을 가져옵니다.
public ReadOnlyCollection<sharentry> Entries { get; }
속성 값
ReadOnlyCollection<SharEntry>
메서드
CreateEntries(string, bool)
지정된 디렉터리에서 모든 파일과 디렉터리를 재귀적으로 아카이브에 추가합니다.
public SharArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)
매개변수
sourceDirectory
string
압축할 디렉터리입니다.
includeRootDirectory
bool
루트 디렉터리 자체를 포함할지 여부를 나타냅니다.
반환
Shar 항목 인스턴스입니다.
예제
using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
using (var archive = new SharArchive())
{
archive.CreateEntries("C:\folder", false);
archive.Save(sharFile);
}
}
예외
sourceDirectory
가 null입니다.
호출자가 sourceDirectory
에 접근할 수 있는 권한이 없습니다.
sourceDirectory
에 “, <, > 또는 |와 같은 유효하지 않은 문자가 포함되어 있습니다.
지정된 경로, 파일 이름 또는 둘 다 시스템 정의 최대 길이를 초과합니다. 예를 들어, Windows 기반 플랫폼에서는 경로는 248자 미만이어야 하며, 파일 이름은 260자 미만이어야 합니다. 지정된 경로, 파일 이름 또는 둘 다 너무 깁니다.
sourceDirectory
가 디렉터리가 아닌 파일을 나타냅니다.
CreateEntries(DirectoryInfo, bool)
지정된 디렉터리에서 모든 파일과 디렉터리를 재귀적으로 아카이브에 추가합니다.
public SharArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)
매개변수
directory
DirectoryInfo
압축할 디렉터리입니다.
includeRootDirectory
bool
루트 디렉터리 자체를 포함할지 여부를 나타냅니다.
반환
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);
}
}
예외
directory
가 null입니다.
호출자가 directory
에 접근할 수 있는 권한이 없습니다.
directory
가 디렉터리가 아닌 파일을 나타냅니다.
CreateEntry(string, FileInfo, bool)
아카이브 내에서 단일 항목을 생성합니다.
public SharEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false)
매개변수
name
string
항목의 이름입니다.
fileInfo
FileInfo
압축할 파일 또는 폴더의 메타데이터입니다.
openImmediately
bool
파일을 즉시 열면 true, 그렇지 않으면 아카이브 저장 시 파일을 엽니다.
반환
Shar 항목 인스턴스입니다.
예제
FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new SharArchive())
{
archive.CreateEntry("test.bin", fileInfo);
archive.Save("archive.shar");
}
비고
openImmediately
매개변수로 파일을 즉시 열면 아카이브가 해제될 때까지 차단됩니다.
예외
name
이 null입니다.
name
이 비어 있습니다.
fileInfo
가 null입니다.
CreateEntry(string, string, bool)
아카이브 내에서 단일 항목을 생성합니다.
public SharEntry CreateEntry(string name, string sourcePath, bool openImmediately = false)
매개변수
name
string
항목의 이름입니다.
sourcePath
string
압축할 파일의 경로입니다.
openImmediately
bool
파일을 즉시 열면 true, 그렇지 않으면 아카이브 저장 시 파일을 엽니다.
반환
Shar 항목 인스턴스입니다.
예제
using (var archive = new SharArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.shar");
}
비고
항목 이름은 name
매개변수 내에서만 설정됩니다. sourcePath
매개변수에 제공된 파일 이름은 항목 이름에 영향을 미치지 않습니다.
openImmediately
매개변수로 파일을 즉시 열면 아카이브가 해제될 때까지 차단됩니다.
예외
sourcePath
가 null입니다.
호출자가 접근할 수 있는 권한이 없습니다.
sourcePath
가 비어 있거나, 공백만 포함하거나, 유효하지 않은 문자를 포함합니다. - 또는 - name
의 일부로서 파일 이름이 100자를 초과합니다.
파일 sourcePath
에 대한 접근이 거부되었습니다.
지정된 sourcePath
, 파일 이름 또는 둘 다 시스템 정의 최대 길이를 초과합니다. 예를 들어, Windows 기반 플랫폼에서는 경로는 248자 미만이어야 하며, 파일 이름은 260자 미만이어야 합니다. - 또는 - name
이 shar에 대해 너무 깁니다.
sourcePath
의 파일에 문자열 중간에 콜론(:)이 포함되어 있습니다.
CreateEntry(string, Stream)
아카이브 내에서 단일 항목을 생성합니다.
public SharEntry CreateEntry(string name, Stream source)
매개변수
name
string
항목의 이름입니다.
source
Stream
항목의 입력 스트림입니다.
반환
Shar 항목 인스턴스입니다.
예제
using (var archive = new SharArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.shar");
}
예외
name
이 null입니다.
source
가 null입니다.
name
이 비어 있습니다.
DeleteEntry(SharEntry)
특정 항목의 첫 번째 발생을 항목 목록에서 제거합니다.
public SharArchive DeleteEntry(SharEntry entry)
매개변수
entry
SharEntry
항목 목록에서 제거할 항목입니다.
반환
Shar 항목 인스턴스입니다.
예제
다음은 마지막 항목을 제외한 모든 항목을 제거하는 방법입니다:
using (var archive = new SharArchive("archive.shar"))
{
while (archive.Entries.Count > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save(outputSharFile);
}
예외
entry
가 null입니다.
DeleteEntry(int)
인덱스로 항목 목록에서 항목을 제거합니다.
public SharArchive DeleteEntry(int entryIndex)
매개변수
entryIndex
int
제거할 항목의 0부터 시작하는 인덱스입니다.
반환
항목이 삭제된 아카이브입니다.
예제
using (var archive = new SharArchive("two_files.shar"))
{
archive.DeleteEntry(0);
archive.Save("single_file.shar");
}
예외
entryIndex
가 0보다 작습니다. - 또는 - entryIndex
가 Entries
수와 같거나 그 이상입니다.
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");
}
비고
아카이브는 로드된 동일한 경로에 저장할 수 있습니다. 그러나 이 접근 방식은 임시 파일로 복사하는 방식을 사용하므로 권장되지 않습니다.
예외
destinationFileName
이 길이가 0인 문자열이거나, 공백만 포함하거나, System.IO.Path.InvalidPathChars로 정의된 하나 이상의 유효하지 않은 문자를 포함합니다.
destinationFileName
이 null입니다.
지정된 destinationFileName
, 파일 이름 또는 둘 다 시스템 정의 최대 길이를 초과합니다. 예를 들어, Windows 기반 플랫폼에서는 경로는 248자 미만이어야 하며, 파일 이름은 260자 미만이어야 합니다.
지정된 destinationFileName
이 유효하지 않습니다. (예: 매핑되지 않은 드라이브에 있습니다).
파일을 열 때 I/O 오류가 발생했습니다.
destinationFileName
이 읽기 전용 파일을 지정했으며 읽기 권한이 없습니다. - 또는 - 지정된 경로가 디렉터리입니다. - 또는 - 호출자가 필요한 권한이 없습니다.
destinationFileName
이 잘못된 형식입니다.
파일을 찾을 수 없습니다.
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
는 쓰기 가능해야 합니다.
예외
output
가 null입니다.
output
가 쓰기 불가능합니다. - 또는 - output
가 추출하는 동일한 스트림입니다.