Class XarArchive

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

objectXarArchive

Triển khai

IArchive, IDisposable

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ệ

ArgumentNullException

sourceStream là null.

ArgumentException

sourceStream không thể tìm kiếm.

InvalidDataException

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ệ

ArgumentNullException

path là null.

SecurityException

Người gọi không có quyền cần thiết để truy cập.

ArgumentException

path là rỗng, chỉ chứa khoảng trắng, hoặc chứa ký tự không hợp lệ.

UnauthorizedAccessException

Truy cập vào tệp path bị từ chối.

PathTooLongException

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ự.

NotSupportedException

Tệp tại path chứa một dấu hai chấm (:) ở giữa chuỗi.

FileNotFoundException

Tệp không được tìm thấy.

DirectoryNotFoundException

Đườ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ạ.

IOException

Tệp đã mở.

InvalidDataException

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&gt;

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ề

XarArchive

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ệ

ArgumentNullException

sourceDirectory là null.

SecurityException

Người gọi không có quyền cần thiết để truy cập sourceDirectory.

ArgumentException

sourceDirectory chứa ký tự không hợp lệ như “, <, >, hoặc |.

PathTooLongException

Đườ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.

IOException

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ề

XarArchive

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ệ

ArgumentNullException

directory là null.

SecurityException

Người gọi không có quyền cần thiết để truy cập directory.

IOException

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ề

XarEntry

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ệ

ArgumentNullException

name là null.

ArgumentException

name là rỗng.

ArgumentNullException

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ề

XarEntry

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ệ

ArgumentNullException

sourcePath là null.

SecurityException

Người gọi không có quyền cần thiết để truy cập.

ArgumentException

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ự.

UnauthorizedAccessException

Truy cập vào tệp sourcePath bị từ chối.

PathTooLongException

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.

NotSupportedException

Tệp tại sourcePath chứa một dấu hai chấm (:) ở giữa chuỗi.

InvalidOperationException

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ề

XarEntry

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ệ

ArgumentNullException

name là null.

ArgumentNullException

source là null.

ArgumentException

name là rỗng.

InvalidOperationException

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ề

XarArchive

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 &gt; 1)
        archive.DeleteEntry(archive.Entries.FirstOrDefault());
    archive.Save(outputXarFile);
}

Ngoại lệ

ArgumentNullException

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ệ

ArgumentNullException

đường dẫn là null

PathTooLongException

Đườ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ự.

SecurityException

Người gọi không có quyền cần thiết để truy cập thư mục hiện có.

NotSupportedException

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:").

ArgumentException

đườ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 (:).

IOException

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.

InvalidDataException

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ệ

ArgumentNullException

destinationFileName là null.

InvalidOperationException

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ệ

ArgumentNullException

output là null.

ArgumentException

output không thể ghi/đọc hoặc không thể tìm kiếm.

InvalidOperationException

Không thể sửa đổi lưu trữ xar.

 Tiếng Việt