Class SevenZipArchiveEntry

Class SevenZipArchiveEntry

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

7z 아카이브 내의 단일 파일을 나타냅니다.

public abstract class SevenZipArchiveEntry : IArchiveFileEntry

상속

objectSevenZipArchiveEntry

파생

SevenZipArchiveEntryEncrypted, SevenZipArchiveEntryPlain

구현

IArchiveFileEntry

상속된 멤버

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

비고

Aspose.Zip.SevenZip.SevenZipArchiveEntry 인스턴스를 Aspose.Zip.SevenZip.SevenZipArchiveEntryEncrypted로 캐스팅하여 항목이 암호화되었는지 여부를 확인합니다.

생성자

SevenZipArchiveEntry(SevenZipArchive, string, SevenZipCompressionSettings, Stream, FileAttributes, FileSystemInfo)

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

protected SevenZipArchiveEntry(SevenZipArchive parent, string name, SevenZipCompressionSettings compressionSettings, Stream source, FileAttributes fileAttributes, FileSystemInfo fileInfo = null)

매개변수

parent SevenZipArchive

name string

항목 이름.

compressionSettings SevenZipCompressionSettings

압축 또는 압축 해제를 위한 설정.

source Stream

압축되거나 압축 해제될 항목 데이터가 있는 스트림.

fileAttributes FileAttributes

파일 시스템의 속성.

fileInfo FileSystemInfo

항목이 기반하는 파일 또는 디렉터리 정보.

예외

ArgumentException

name이 null이거나 비어 있습니다.

속성

CompressedSize

압축된 파일의 크기를 가져옵니다.

public ulong CompressedSize { get; }

속성 값

ulong

CompressionSettings

압축 또는 압축 해제를 위한 설정을 가져옵니다.

public SevenZipCompressionSettings CompressionSettings { get; }

속성 값

SevenZipCompressionSettings

FileAttributes

호스트 시스템의 파일 속성을 가져옵니다.

protected FileAttributes FileAttributes { get; }

속성 값

FileAttributes

IsDirectory

항목이 디렉터리를 나타내는지 여부를 나타내는 값을 가져옵니다.

public bool IsDirectory { get; }

속성 값

bool

ModificationTime

마지막 수정 날짜 및 시간을 가져옵니다.

public DateTime ModificationTime { get; }

속성 값

DateTime

Name

아카이브 내의 항목 이름을 가져옵니다.

public string Name { get; protected set; }

속성 값

string

Source

항목의 데이터 소스 스트림을 가져옵니다.

protected Stream Source { get; set; }

속성 값

Stream

UncompressedSize

원본 파일의 크기를 가져옵니다.

public ulong UncompressedSize { get; }

속성 값

ulong

메서드

Extract(string, string)

제공된 경로에 파일 시스템으로 항목을 추출합니다.

public FileInfo Extract(string path, string password = null)

매개변수

path string

대상 파일의 경로. 파일이 이미 존재하는 경우 덮어씌워집니다.

password string

암호 해제를 위한 선택적 비밀번호입니다.

반환

FileInfo

구성된 파일의 파일 정보입니다.

예제

using (var archive = new SevenZipArchive("archive.7z"))
{
    archive.Entries[0].Extract("data.bin");
}

예외

ArgumentNullException

path가 null입니다.

SecurityException

호출자가 액세스에 필요한 권한이 없습니다.

ArgumentException

path가 비어 있거나, 공백만 포함하거나, 잘못된 문자를 포함합니다.

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

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

InvalidDataException

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

Extract(Stream, string)

제공된 스트림으로 항목을 추출합니다.

public void Extract(Stream destination, string password = null)

매개변수

destination Stream

대상 스트림. 쓰기가 가능해야 합니다.

password string

암호 해제를 위한 선택적 비밀번호입니다.

예제

비밀번호로 zip 아카이브의 항목을 추출합니다.

using (var archive = new SevenZipArchive("archive.7z"))
{
    archive.Entries[0].Extract(httpResponseStream);
}

예외

ArgumentException

destination가 쓰기를 지원하지 않습니다.

InvalidOperationException

아카이브가 추출을 위해 열리지 않았습니다. - 또는 - 이 항목은 디렉터리입니다.

InvalidDataException

항목 내의 데이터가 잘못되었습니다.

FinalizeCompressedData(Stream, byte[])

압축 데이터 뒤에 오는 모든 헤더를 출력 스트림에 씁니다.

protected abstract int FinalizeCompressedData(Stream outputStream, byte[] encoderProperties)

매개변수

outputStream Stream

항목에 대한 출력 스트림입니다.

encoderProperties byte[]

압축기 속성입니다.

반환

int

항목의 중요한 데이터 블록 뒤에 추가된 “기술” 바이트 수입니다.

GetDestinationStream(Stream)

항목에 대한 대상 스트림, 장식될 수 있습니다.

protected abstract Stream GetDestinationStream(Stream outputStream)

매개변수

outputStream Stream

항목에 대한 출력 스트림입니다.

반환

Stream

항목 압축을 위한 대상 스트림입니다.

Open(string)

추출을 위해 항목을 열고 항목 내용을 가진 스트림을 제공합니다.

public Stream Open(string password = null)

매개변수

password string

암호 해제를 위한 선택적 비밀번호입니다.

반환

Stream

항목의 내용을 나타내는 스트림입니다.

예제

사용법: Stream decompressed = entry.Open();

.NET 4.0 이상 - Stream.CopyTo 메서드 사용: decompressed.CopyTo(httpResponse.OutputStream)

.NET 3.5 이하 - 바이트를 수동으로 복사:

byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
 fileStream.Write(buffer, 0, bytesRead);
```</p>

#### 비고

스트림에서 읽어 원본 파일의 내용을 가져옵니다. 예제 섹션을 참조하세요.

#### 예외

 [InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception)

아카이브가 추출을 위해 열리지 않았습니다. - 또는 -  항목은 디렉터리입니다.

 [InvalidDataException](https://learn.microsoft.com/dotnet/api/system.io.invaliddataexception)

항목 내의 데이터가 잘못되었습니다.

### <a id="Aspose_Zip_SevenZip_SevenZipArchiveEntry_CompressionProgressed"></a> CompressionProgressed

원시 스트림의 일부가 압축될  발생합니다.

```csharp
public event EventHandler<progresseventargs> CompressionProgressed

이벤트 유형

EventHandler<ProgressEventArgs&gt;

예제

archive.Entries[0].CompressionProgressed += (s, e) =&gt; { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };

비고

이벤트 발신자는 Aspose.Zip.SevenZip.SevenZipArchiveEntry 인스턴스입니다.

LZMA2 항목에 대해 다중 스레드 모드에서 호출되지 않습니다.

 한국어