Class XarArchive
Namespace: Aspose.Zip.Xar
Assembly: Aspose.Zip.dll (25.1.0)
Lớp này đại diện cho tệp lưu trữ xar.
public class XarArchive : IArchive, IDisposable
Kế thừa
Triển khai
Thành viên Kế thừa
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Các Hàm Khởi Tạo
XarArchive(XarCompressionSettings)
Khởi tạo một thể hiện mới của lớp Aspose.Zip.Xar.XarArchive.
public XarArchive(XarCompressionSettings defaultCompressionSettings = null)
Tham số
defaultCompressionSettings
XarCompressionSettings
Cài đặt nén mặc định, áp dụng cho tất cả các mục của lưu trữ.
Ví dụ
Ví dụ sau đây cho thấy cách nén một tệp.
using (var archive = new XarArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.xar");
}
XarArchive(Stream, XarLoadOptions)
Khởi tạo một thể hiện mới của lớp Aspose.Zip.Xar.XarArchive và tạo danh sách các mục có thể được trích xuất từ lưu trữ.
public XarArchive(Stream sourceStream, XarLoadOptions loadOptions = null)
Tham số
sourceStream
Stream
Nguồn của lưu trữ. Nó phải có thể tìm kiếm.
loadOptions
XarLoadOptions
Các tùy chọn để tải lưu trữ.
Ví dụ
Ví dụ sau đây cho thấy cách trích xuất tất cả các mục vào một thư mục.
using (var archive = new XarArchive(File.OpenRead("archive.xar")))
{
archive.ExtractToDirectory("C:\\extracted");
}
Nhận xét
Bộ khởi tạo này không giải nén bất kỳ mục nào. Xem phương thức Aspose.Zip.Xar.XarFileEntry.Open để giải nén.
Ngoại lệ
sourceStream
là null.
sourceStream
không thể tìm kiếm.
sourceStream
không phải là lưu trữ xar hợp lệ.
XarArchive(string, XarLoadOptions)
Khởi tạo một thể hiện mới của lớp Aspose.Zip.Xar.XarArchive và tạo danh sách các mục có thể được trích xuất từ lưu trữ.
public XarArchive(string path, XarLoadOptions loadOptions = null)
Tham số
path
string
Đường dẫn đến tệp lưu trữ.
loadOptions
XarLoadOptions
Các tùy chọn để tải lưu trữ.
Ví dụ
Ví dụ sau đây cho thấy cách trích xuất tất cả các mục vào một thư mục.
using (var archive = new XarArchive("archive.xar"))
{
archive.ExtractToDirectory("C:\\extracted");
}
Nhận xét
Bộ khởi tạo này không giải nén bất kỳ mục nào. Xem phương thức Aspose.Zip.Xar.XarFileEntry.Open để giải nén.
Ngoại lệ
path
là null.
Người gọi không có quyền cần thiết để truy cập.
path
là rỗ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á chiều dài tối đa do hệ thống xác định. Ví dụ, trên các nền tảng Windows, đường dẫn phải nhỏ hơn 248 ký tự, và tên tệp phải nhỏ hơn 260 ký tự.
Tệp tại path
chứa một dấu hai chấm (:) ở giữa chuỗi.
Tệp không được tìm thấy.
Đường dẫn được chỉ định không hợp lệ, chẳng hạn như ở trên một ổ không được ánh xạ.
Tệp đã mở.
Tệp tại path
không phải là lưu trữ xar hợp lệ.
Thuộc Tính
Entries
Lấy các mục của loại Aspose.Zip.Xar.XarEntry tạo thành lưu trữ.
public IEnumerable<xarentry> Entries { get; }
Giá trị thuộc tính
IEnumerable<XarEntry>
Phương Thức
CreateEntries(string, bool, XarCompressionSettings)
Thêm vào lưu trữ tất cả các tệp và thư mục một cách đệ quy trong thư mục đã cho.
public XarArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true, XarCompressionSettings compressionSettings = null)
Tham số
sourceDirectory
string
Thư mục để nén.
includeRootDirectory
bool
Chỉ định xem có bao gồm thư mục gốc hay không.
compressionSettings
XarCompressionSettings
Các cài đặt nén được sử dụng cho các mục Aspose.Zip.Xar.XarEntry đã thêm.
Trả về
Thể hiện mục Xar.
Ví dụ
using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
{
using (var archive = new XarArchive())
{
archive.CreateEntries(@"C:\folder", false);
archive.Save(xarFile);
}
}
Ngoại lệ
sourceDirectory
là null.
Người gọi không có quyền cần thiết để truy cập sourceDirectory
.
sourceDirectory
chứa ký tự không hợp lệ như “, <, >, hoặc |.
Đường dẫn, tên tệp, hoặc cả hai vượt quá chiều dài tối đa do hệ thống xác định. Ví dụ, trên các nền tảng Windows, đường dẫn phải nhỏ hơn 248 ký tự, và tên tệp phải nhỏ hơn 260 ký tự. Đường dẫn, tên tệp, hoặc cả hai quá dài.
sourceDirectory
đại diện cho một tệp, không phải cho một thư mục.
CreateEntries(DirectoryInfo, bool, XarCompressionSettings)
Thêm vào lưu trữ tất cả các tệp và thư mục một cách đệ quy trong thư mục đã cho.
public XarArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true, XarCompressionSettings compressionSettings = null)
Tham số
directory
DirectoryInfo
Thư mục để nén.
includeRootDirectory
bool
Chỉ định xem có bao gồm thư mục gốc hay không.
compressionSettings
XarCompressionSettings
Các cài đặt nén được sử dụng cho các mục Aspose.Zip.Xar.XarEntry đã thêm.
Trả về
Thể hiện mục Xar.
Ví dụ
using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
{
using (var archive = new XarArchive())
{
archive.CreateEntries(new DirectoryInfo(@"C:\folder"), false);
archive.Save(xarFile);
}
}
Ngoại lệ
directory
là null.
Người gọi không có quyền cần thiết để truy cập directory
.
directory
đại diện cho một tệp, không phải cho một thư mục.
CreateEntry(string, FileInfo, bool, XarCompressionSettings)
Tạo một mục đơn trong lưu trữ.
public XarEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, XarCompressionSettings compressionSettings = null)
Tham số
name
string
Tên của mục.
fileInfo
FileInfo
Siêu dữ liệu của tệp hoặc thư mục để nén.
openImmediately
bool
Đúng nếu mở tệp ngay lập tức, ngược lại mở tệp khi lưu trữ.
compressionSettings
XarCompressionSettings
Các cài đặt nén được sử dụng cho mục Aspose.Zip.Xar.XarEntry đã thêm.
Trả về
Thể hiện mục Xar.
Ví dụ
FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new XarArchive())
{
archive.CreateEntry("test.bin", fileInfo);
archive.Save("archive.xar");
}
Nhận xét
Nếu tệp được mở ngay lập tức với tham số openImmediately
, nó sẽ bị khóa cho đến khi lưu trữ được giải phóng.
Ngoại lệ
name
là null.
name
là rỗng.
fileInfo
là null.
CreateEntry(string, string, bool, XarCompressionSettings)
Tạo một mục đơn trong lưu trữ.
public XarEntry CreateEntry(string name, string sourcePath, bool openImmediately = false, XarCompressionSettings compressionSettings = null)
Tham số
name
string
Tên của mục.
sourcePath
string
Đường dẫn đến tệp để nén.
openImmediately
bool
Đúng nếu mở tệp ngay lập tức, ngược lại mở tệp khi lưu trữ.
compressionSettings
XarCompressionSettings
Các cài đặt nén được sử dụng cho mục Aspose.Zip.Xar.XarEntry đã thêm.
Trả về
Thể hiện mục Xar.
Ví dụ
using (var archive = new XarArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.xar");
}
Nhận xét
Tên mục chỉ được thiết lập trong tham số name
. Tên tệp được cung cấp trong tham số sourcePath
không ảnh hưởng đến tên mục.
Nếu tệp được mở ngay lập tức với tham số openImmediately
, nó sẽ bị khóa cho đến khi lưu trữ được giải phóng.
Ngoại lệ
sourcePath
là null.
Người gọi không có quyền cần thiết để truy cập.
sourcePath
là rỗng, chỉ chứa khoảng trắng, hoặc chứa ký tự không hợp lệ. - hoặc - Tên tệp, như một phần của name
, vượt quá 100 ký tự.
Truy cập vào tệp sourcePath
bị từ chối.
sourcePath
, tên tệp, hoặc cả hai vượt quá chiều dài tối đa do hệ thống xác định. Ví dụ, trên các nền tảng Windows, đường dẫn phải nhỏ hơn 248 ký tự, và tên tệp phải nhỏ hơn 260 ký tự. - hoặc - name
quá dài cho xar.
Tệp tại sourcePath
chứa một dấu hai chấm (:) ở giữa chuỗi.
Không thể sửa đổi lưu trữ xar.
CreateEntry(string, Stream, XarCompressionSettings)
Tạo một mục đơn trong lưu trữ.
public XarEntry CreateEntry(string name, Stream source, XarCompressionSettings compressionSettings = null)
Tham số
name
string
Tên của mục.
source
Stream
Luồng đầu vào cho mục.
compressionSettings
XarCompressionSettings
Các cài đặt nén được sử dụng cho mục Aspose.Zip.Xar.XarEntry đã thêm.
Trả về
Thể hiện mục Xar.
Ví dụ
using (var archive = new XarArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.xar");
}
Ngoại lệ
name
là null.
source
là null.
name
là rỗng.
Không thể sửa đổi lưu trữ xar.
DeleteEntry(XarEntry)
Xóa lần xuất hiện đầu tiên của một mục cụ thể khỏi danh sách các mục.
public XarArchive DeleteEntry(XarEntry entry)
Tham số
entry
XarEntry
Mục cần xóa khỏi danh sách các mục.
Trả về
Thể hiện mục Xar.
Ví dụ
Dưới đây là cách bạn có thể xóa tất cả các mục ngoại trừ mục cuối cùng:
using (var archive = new XarArchive("archive.xar"))
{
while (archive.Entries.Count > 1)
archive.DeleteEntry(archive.Entries.FirstOrDefault());
archive.Save(outputXarFile);
}
Ngoại lệ
entry
là null.
Dispose()
Thực hiện các tác vụ được định nghĩa bởi ứng dụng liên quan đến việc giải phóng, giải phóng hoặc đặt lại các tài nguyên không quản lý.
public void Dispose()
Dispose(bool)
Thực hiện các tác vụ được định nghĩa bởi ứng dụng liên quan đến việc giải phóng, giải phóng hoặc đặt lại các tài nguyên không quản lý.
protected virtual void Dispose(bool disposing)
Tham số
disposing
bool
Liệu các tài nguyên quản lý có nên được giải phóng hay không.
ExtractToDirectory(string)
Giải nén tất cả các tệp trong lưu trữ vào thư mục được cung cấp.
public void ExtractToDirectory(string destinationDirectory)
Tham số
destinationDirectory
string
Đường dẫn đến thư mục để đặt các tệp đã giải nén.
Ví dụ
using (var archive = new XarArchive("archive.xar"))
{
archive.ExtractToDirectory("C:\\extracted");
}
Nhận xét
Nếu thư mục không tồn tại, nó sẽ được tạo ra.
Ngoại lệ
đường dẫn là null
Đường dẫn, tên tệp, hoặc cả hai vượt quá chiều dài tối đa do hệ thống xác định. Ví dụ, trên các nền tảng Windows, đường dẫn phải nhỏ hơn 248 ký tự và tên tệp phải nhỏ hơn 260 ký tự.
Người gọi không có quyền cần thiết để truy cập thư mục hiện có.
Nếu thư mục không tồn tại, đường dẫn chứa một ký tự dấu hai chấm (:) không phải là một phần của nhãn ổ đĩa (“C:").
đường dẫn là một chuỗi có độ dài bằng không, chỉ chứa khoảng trắng hoặc chứa một hoặc nhiều ký tự không hợp lệ. Bạn có thể truy vấn các ký tự không hợp lệ bằng cách sử dụng phương thức System.IO.Path.GetInvalidPathChars. -hoặc- đường dẫn được tiền tố bằng, hoặc chỉ chứa, một ký tự dấu hai chấm (:).
Thư mục được chỉ định bởi đường dẫn là một tệp. -hoặc- Tên mạng không được biết đến.
Lưu trữ bị hỏng.
Save(string, XarSaveOptions)
Lưu lưu trữ vào tệp đích được cung cấp.
public void Save(string destinationFileName, XarSaveOptions saveOptions = null)
Tham số
destinationFileName
string
Đường dẫn của lưu trữ sẽ được tạo. Nếu tên tệp được chỉ định trỏ đến một tệp hiện có, nó sẽ bị ghi đè.
saveOptions
XarSaveOptions
Các tùy chọn để lưu lưu trữ xar.
Ngoại lệ
destinationFileName
là null.
Không thể sửa đổi lưu trữ xar.
Save(Stream, XarSaveOptions)
Lưu lưu trữ vào luồng được cung cấp.
public void Save(Stream output, XarSaveOptions saveOptions = null)
Tham số
output
Stream
Luồng đích.
saveOptions
XarSaveOptions
Các tùy chọn để lưu lưu trữ xar.
Ngoại lệ
output
là null.
output
không thể ghi/đọc hoặc không thể tìm kiếm.
Không thể sửa đổi lưu trữ xar.