Class RarArchiveEntry
Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)
아카이브 내의 단일 파일을 나타냅니다.
public abstract class RarArchiveEntry : IArchiveFileEntry
상속
파생
RarArchiveEntryEncrypted, RarArchiveEntryPlain
구현
상속된 멤버
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
비고
Aspose.Zip.Rar.RarArchiveEntry 인스턴스를 Aspose.Zip.Rar.RarArchiveEntryEncrypted로 캐스트하여 항목이 암호화되었는지 여부를 확인합니다.
속성
CompressedSize
압축된 파일의 크기를 가져옵니다.
public ulong CompressedSize { get; }
속성 값
CreationTime
생성 날짜와 시간을 가져옵니다.
public DateTime CreationTime { get; }
속성 값
IsDirectory
항목이 디렉토리를 나타내는지 여부를 나타내는 값을 가져옵니다.
public bool IsDirectory { get; }
속성 값
LastAccessTime
마지막 액세스 날짜와 시간을 가져옵니다.
public DateTime LastAccessTime { get; }
속성 값
ModificationTime
마지막 수정 날짜와 시간을 가져옵니다.
public DateTime ModificationTime { get; }
속성 값
Name
아카이브 내의 항목 이름을 가져옵니다.
public string Name { get; }
속성 값
Source
항목에 대한 데이터 소스 스트림을 가져옵니다.
protected Stream Source { get; set; }
속성 값
UncompressedSize
원본 파일의 크기를 가져옵니다.
public ulong UncompressedSize { get; }
속성 값
메서드
Extract(string, string)
제공된 경로로 파일 시스템에 항목을 추출합니다.
public FileInfo Extract(string path, string password = null)
매개변수
path
string
대상 파일의 경로입니다. 파일이 이미 존재하는 경우 덮어씌워집니다.
password
string
암호 해독을 위한 선택적 비밀번호입니다.
반환
작성된 파일의 파일 정보입니다.
예제
rar 아카이브의 두 항목을 추출합니다.
using (FileStream rarFile = File.Open("archive.rar", FileMode.Open))
{
using (RarArchive archive = new RarArchive(rarFile))
{
archive.Entries[0].Extract("first.bin", "pass");
archive.Entries[1].Extract("second.bin", "pass");
}
}
예외
path
가 null입니다.
호출자가 액세스에 필요한 권한이 없습니다.
path
가 비어 있거나 공백만 포함하거나 잘못된 문자가 포함되어 있습니다.
path
에 대한 파일 접근이 거부되었습니다.
지정된 path
, 파일 이름 또는 둘 다 시스템에서 정의한 최대 길이를 초과합니다. 예를 들어, Windows 기반 플랫폼에서는 경로가 248자 미만이어야 하며, 파일 이름은 260자 미만이어야 합니다.
path
의 문자열 중간에 콜론(:)이 포함되어 있습니다.
파일을 찾을 수 없습니다.
지정된 경로가 유효하지 않으며, 예를 들어 매핑되지 않은 드라이브에 있을 수 있습니다.
파일이 이미 열려 있습니다.
데이터가 손상되었습니다. - 또는 - 항목에 대한 CRC 또는 MAC 검증이 실패했습니다.
Extract(Stream, string)
제공된 스트림으로 항목을 추출합니다.
public void Extract(Stream destination, string password = null)
매개변수
destination
Stream
대상 스트림. 쓰기가 가능해야 합니다.
password
string
암호 해독을 위한 선택적 비밀번호입니다.
예제
비밀번호로 rar 아카이브의 항목을 추출합니다.
using (FileStream rarFile = File.Open("archive.zip", FileMode.Open))
{
using (RarArchive archive = new RarArchive(rarFile))
{
archive.Entries[0].Extract(httpResponseStream, "p@s$");
}
}
예외
항목에 대한 CRC 또는 MAC 검증이 실패했습니다.
destination
가 쓰기를 지원하지 않습니다.
데이터가 손상되었습니다. - 또는 - 항목에 대한 CRC 또는 MAC 검증이 실패했습니다.
Open(string)
추출을 위해 항목을 열고 압축 해제된 항목 내용을 포함하는 스트림을 제공합니다.
public Stream Open(string password = null)
매개변수
password
string
암호 해독을 위한 선택적 비밀번호입니다. Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword 내에서 설정할 수도 있습니다.
반환
항목의 내용을 나타내는 스트림입니다.
예제
사용법:
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>
#### 비고
<p>스트림에서 읽어 원본 파일의 내용을 가져옵니다. 예제 섹션을 참조하십시오.</p>
### <a id="Aspose_Zip_Rar_RarArchiveEntry_ExtractionProgressed"></a> ExtractionProgressed
원시 스트림의 일부가 추출될 때 발생합니다.
```csharp
public event EventHandler<progresseventargs> ExtractionProgressed
이벤트 유형
EventHandler<ProgressEventArgs>
예제
archive.Entries[0].ExtractionProgressed += (s, e) => { int percent = (int)((100 * e.ProceededBytes) / ((RarArchiveEntry)s).UncompressedSize); };
비고
이벤트 발신자는 Aspose.Zip.Rar.RarArchiveEntry 인스턴스입니다.