Class SharArchive

Class SharArchive

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

Lớp này đại diện cho tệp lưu trữ shar.

public class SharArchive : IDisposable

Kế thừa

objectSharArchive

Thực hiện

IDisposable

Các 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

SharArchive()

Khởi tạo một thể hiện mới của lớp Aspose.Zip.Shar.SharArchive.

public SharArchive()

Ví dụ

Ví dụ sau đây cho thấy cách nén một tệp.

using (var archive = new SharArchive())
{
    archive.CreateEntry("first.bin", "data.bin");
    archive.Save("archive.shar");
}

SharArchive(string)

Khởi tạo một thể hiện mới của lớp Aspose.Zip.Shar.SharArchive đã chuẩn bị để giải nén.

public SharArchive(string path)

Tham số

path string

Đường dẫn đến nguồn của tệp lưu trữ.

Ngoại lệ

ArgumentNullException

path là null.

SecurityException

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

ArgumentException

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

UnauthorizedAccessException

Quyền 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 dựa trên Windows, đường dẫn phải ít hơn 248 ký tự và tên tệp phải ít 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ư nằm trên một ổ đĩa không được ánh xạ.

IOException

Tệp đã được mở.

Thuộc tính

Entries

Lấy các mục của loại Aspose.Zip.Shar.SharEntry cấu thành lưu trữ.

public ReadOnlyCollection<sharentry> Entries { get; }

Giá trị thuộc tính

ReadOnlyCollection<SharEntry&gt;

Phương thức

CreateEntries(string, bool)

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 SharArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)

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.

Trả về

SharArchive

Thể hiện Shar entry.

Ví dụ

using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
    using (var archive = new SharArchive())
    {
        archive.CreateEntries("C:\folder", false);
        archive.Save(sharFile);
    }
}

Ngoại lệ

ArgumentNullException

sourceDirectory là null.

SecurityException

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

ArgumentException

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

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 dựa trên Windows, đường dẫn phải ít hơn 248 ký tự và tên tệp phải ít hơn 260 ký tự. path, 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)

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 SharArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)

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.

Trả về

SharArchive

Thể hiện Shar entry.

Ví dụ

using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
    using (var archive = new SharArchive())
    {
        archive.CreateEntries(new DirectoryInfo("C:\folder"), false);
        archive.Save(sharFile);
    }
}

Ngoại lệ

ArgumentNullException

directory là null.

SecurityException

Người gọi không có quyền truy cập cần thiết vào 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)

Tạo một mục đơn trong lưu trữ.

public SharEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false)

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 cần nén.

openImmediately bool

True nếu mở tệp ngay lập tức, ngược lại mở tệp khi lưu lưu trữ.

Trả về

SharEntry

Thể hiện Shar entry.

Ví dụ

FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new SharArchive())
{
    archive.CreateEntry("test.bin", fileInfo);
    archive.Save("archive.shar");
}

Nhận xét

Nếu tệp được mở ngay lập tức với tham số openImmediately, nó sẽ bị chặn 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)

Tạo một mục đơn trong lưu trữ.

public SharEntry CreateEntry(string name, string sourcePath, bool openImmediately = false)

Tham số

name string

Tên của mục.

sourcePath string

Đường dẫn đến tệp cần nén.

openImmediately bool

True nếu mở tệp ngay lập tức, ngược lại mở tệp khi lưu lưu trữ.

Trả về

SharEntry

Thể hiện Shar entry.

Ví dụ

using (var archive = new SharArchive())
{
    archive.CreateEntry("first.bin", "data.bin");
    archive.Save("archive.shar");
}

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ị chặn 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 truy cập cần thiết.

ArgumentException

sourcePath là rỗng, chỉ chứa khoảng trắng hoặc chứa các 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

Quyền 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 dựa trên Windows, đường dẫn phải ít hơn 248 ký tự và tên tệp phải ít hơn 260 ký tự. - hoặc - name quá dài cho shar.

NotSupportedException

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

CreateEntry(string, Stream)

Tạo một mục đơn trong lưu trữ.

public SharEntry CreateEntry(string name, Stream source)

Tham số

name string

Tên của mục.

source Stream

Luồng đầu vào cho mục.

Trả về

SharEntry

Thể hiện Shar entry.

Ví dụ

using (var archive = new SharArchive())
{
    archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
    archive.Save("archive.shar");
}

Ngoại lệ

ArgumentNullException

name là null.

ArgumentNullException

source là null.

ArgumentException

name là rỗng.

DeleteEntry(SharEntry)

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 SharArchive DeleteEntry(SharEntry entry)

Tham số

entry SharEntry

Mục cần xóa khỏi danh sách các mục.

Trả về

SharArchive

Thể hiện Shar entry.

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 SharArchive("archive.shar"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries[0]);
    archive.Save(outputSharFile);
}

Ngoại lệ

ArgumentNullException

entry là null.

DeleteEntry(int)

Xóa mục khỏi danh sách các mục theo chỉ số.

public SharArchive DeleteEntry(int entryIndex)

Tham số

entryIndex int

Chỉ số bắt đầu từ 0 của mục cần xóa.

Trả về

SharArchive

Lưu trữ với mục đã bị xóa.

Ví dụ

using (var archive = new SharArchive("two_files.shar"))
{
    archive.DeleteEntry(0);
    archive.Save("single_file.shar");
}

Ngoại lệ

ArgumentOutOfRangeException

entryIndex nhỏ hơn 0.-hoặc- entryIndex bằng hoặc lớn hơn số lượng Entries.

Dispose(bool)

Thực hiện các tác vụ do ứng dụng xác định 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 được quản lý có nên được giải phóng.

Dispose()

Thực hiện các tác vụ do ứng dụng xác định 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()

Save(string)

Lưu lưu trữ vào tệp đích được cung cấp.

public void Save(string destinationFileName)

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 đè.

Ví dụ

using (var archive = new SharArchive())
{
    archive.CreateEntry("entry1", "data.bin");        
    archive.Save("archive.shar");
}

Nhận xét

Có thể lưu lưu trữ vào cùng một đường dẫn mà nó đã được tải từ. Tuy nhiên, điều này không được khuyến nghị vì phương pháp này sử dụng sao chép vào tệp tạm thời.

Ngoại lệ

ArgumentException

destinationFileName là một chuỗi có độ dài bằng 0, chỉ chứa khoảng trắng hoặc chứa một hoặc nhiều ký tự không hợp lệ như được xác định bởi System.IO.Path.InvalidPathChars.

ArgumentNullException

destinationFileName là null.

PathTooLongException

destinationFileName, 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 dựa trên Windows, đường dẫn phải ít hơn 248 ký tự và tên tệp phải ít hơn 260 ký tự.

DirectoryNotFoundException

destinationFileName không hợp lệ, (ví dụ, nó nằm trên một ổ đĩa không được ánh xạ).

IOException

Một lỗi I/O đã xảy ra trong khi mở tệp.

UnauthorizedAccessException

destinationFileName chỉ định một tệp chỉ đọc và quyền truy cập không phải là Đọc.-hoặc- đường dẫn chỉ định một thư mục.-hoặc- Người gọi không có quyền truy cập cần thiết.

NotSupportedException

destinationFileName ở định dạng không hợp lệ.

FileNotFoundException

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

Save(Stream)

Lưu lưu trữ vào luồng được cung cấp.

public void Save(Stream output)

Tham số

output Stream

Luồng đích.

Ví dụ

using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
    using (var archive = new SharArchive())
    {
        archive.CreateEntry("entry1", "data.bin");        
        archive.Save(sharFile);
    }
}

Nhận xét

output phải có thể ghi.

Ngoại lệ

ArgumentNullException

output là null.

ArgumentException

output không thể ghi. - hoặc - output là cùng một luồng mà chúng ta trích xuất từ.

 Tiếng Việt