Class XarFileEntry
Namespace: Aspose.Zip.Xar
Assembly: Aspose.Zip.dll (25.1.0)
Đại diện cho mục tệp trong lưu trữ xar.
public sealed class XarFileEntry : XarEntry, IArchiveFileEntry
Kế thừa
object ← XarEntry ← XarFileEntry
Triển khai
Các thành viên được kế thừa
XarEntry.ToString(), XarEntry.Name, XarEntry.FullPath, XarEntry.IsDirectory, XarEntry.Parent, XarEntry.CreationTime, XarEntry.LastAccessTime, XarEntry.LastWriteTime, object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Thuộc tính
Length
Lấy độ dài của mục trong byte.
public long Length { get; }
Giá trị thuộc tính
Phương thức
Extract(string)
Giải nén mục vào hệ thống tệp theo đường dẫn đã cung cấp.
public FileInfo Extract(string path)
Tham số
path
string
Đường dẫn đến tệp đích. Nếu tệp đã tồn tại, nó sẽ bị ghi đè.
Trả về
Thông tin tệp của tệp đã tạo.
Ví dụ
using (var archive = new XarArchive("archive.xar"))
{
((XarFileEntry)archive.Entries[0]).Extract("data.bin");
}
Ngoại lệ
path
là null.
Người gọi không có quyền cần thiết để truy cập.
path
trống, chỉ chứa khoảng trắng, hoặc chứa ký tự không hợp lệ.
Truy cập vào tệp path
bị từ chối.
path
, tên tệp, hoặc cả hai vượt quá độ dài tối đa do hệ thống xác định. Ví dụ, trên các nền tảng dựa trên Windows, đường dẫn phải ngắn hơn 248 ký tự, và tên tệp phải ngắn hơn 260 ký tự.
Tệp tại path
chứa một dấu hai chấm (:) ở giữa chuỗi.
Lưu trữ bị hỏng.
Extract(Stream)
Giải nén mục vào luồng đã cung cấp.
public void Extract(Stream destination)
Tham số
destination
Stream
Luồng đích. Phải có thể ghi.
Ví dụ
Giải nén một mục của lưu trữ xar.
using (var archive = new XarArchive("archive.xar"))
{
((XarFileEntry)archive.Entries[0]).Extract(httpResponseStream);
}
Ngoại lệ
destination
không hỗ trợ ghi.
Lưu trữ bị hỏng.
Open()
Mở mục để giải nén và cung cấp một luồng với nội dung mục.
public Stream Open()
Trả về
Luồng đại diện cho nội dung của mục.
Ví dụ
Sử dụng:
Stream decompressed = entry.Open();
.NET 4.0 và cao hơn - sử dụng phương thức Stream.CopyTo:
decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 và trước - sao chép byte thủ công:
byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
fileStream.Write(buffer, 0, bytesRead);
```</p>
#### Ghi chú
Đọc từ luồng để lấy nội dung gốc của tệp. Xem phần ví dụ.
### <a id="Aspose_Zip_Xar_XarFileEntry_CompressionProgressed"></a> CompressionProgressed
Kích hoạt khi một phần của luồng thô được nén.
```csharp
public event EventHandler<progresseventargs> CompressionProgressed
Loại sự kiện
EventHandler<ProgressEventArgs>
Ví dụ
archive.Entries.First().CompressionProgressed += (s, e) => { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };
Ghi chú
Người gửi sự kiện là một thể hiện của Aspose.Zip.Xar.XarFileEntry.