Class SevenZipArchive

Class SevenZipArchive

Tên không gian: Aspose.Zip.SevenZip Tổng hợp: Aspose.Zip.dll (25.5.0)

Lớp này đại diện cho tập tin lưu trữ 7z. Sử dụng nó để tạo và rút các tập tin 7z.

public class SevenZipArchive : IArchive, IDisposable

Inheritance

object SevenZipArchive

Implements

IArchive , IDisposable

Thành viên thừa kế

object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Constructors

SevenZipArchive(SevenZipEntrySettings)

Bắt đầu một trường hợp mới của lớp Aspose.Zip.SevenZip.SevenZipArchive với cài đặt tùy chọn cho các bài đăng của nó.

public SevenZipArchive(SevenZipEntrySettings newEntrySettings = null)

Parameters

newEntrySettings SevenZipEntrySettings

Cài đặt nén và mã hóa được sử dụng cho các mục Aspose.Zip.SevenZip.SevenZipArchiveEntry mới được thêm vào.Nếu không được xác định, LZMA nén mà không mã hóa sẽ được sử dụng.

Examples

Ví dụ sau đây cho thấy làm thế nào để nén một tệp duy nhất với cài đặt mặc định: Nén LZMA mà không cần mã hóa.

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    using (var archive = new SevenZipArchive())
    {
        archive.CreateEntry("data.bin", "file.dat");
        archive.Save(sevenZipFile);
    }
}

SevenZipArchive(dòng, string)

Bắt đầu một ví dụ mới của lớp Aspose.Zip.SevenZip.SevenZipArchive và tạo ra một danh sách nhập có thể được rút ra từ lưu trữ.

public SevenZipArchive(Stream sourceStream, string password = null)

Parameters

sourceStream Stream

Nguồn gốc của Archive.

password string

Mã tùy chọn cho mã hóa. nếu tên tệp được mã hóa, nó phải có mặt.

Examples

using (SevenZipArchive archive = new SevenZipArchive(File.OpenRead("archive.7z")))
{
    archive.ExtractToDirectory("C:\\extracted");
}

Remarks

Xem Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) phương pháp để giảm bớt.

Exceptions

ArgumentException

sourceStream’ is not seekable.

ArgumentNullException

sourceStream’ is null.

NotImplementedException

Tài liệu chứa nhiều hơn một mã hóa. bây giờ chỉ hỗ trợ nén LZMA.

SevenZipArchive(Thẻ, string)

Bắt đầu một ví dụ mới của lớp Aspose.Zip.SevenZip.SevenZipArchive và tạo ra một danh sách nhập có thể được rút ra từ lưu trữ.

public SevenZipArchive(string path, string password = null)

Parameters

path string

Quá trình hoàn toàn đủ điều kiện hoặc con đường tương đối đến tệp lưu trữ.

password string

Mã tùy chọn cho mã hóa. nếu tên tệp được mã hóa, nó phải có mặt.

Examples

using (SevenZipArchive archive = new SevenZipArchive("archive.7z"))
{
    archive.ExtractToDirectory("C:\\extracted");
}

Remarks

Xem Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) phương pháp để giảm bớt.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Người gọi không có giấy phép cần thiết để truy cập.

ArgumentException

Đường path’ là trống, chỉ chứa các không gian trắng, hoặc chứa các ký tự vô hiệu.

UnauthorizedAccessException

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

PathTooLongException

Lối đi path", tên tệp, hoặc cả hai vượt quá chiều dài tối đa được xác định bởi hệ thống. Ví dụ, trên nền tảng dựa trên Windows, các con đường phải nhỏ hơn 248 ký tự, và tên tệp phải nhỏ hơn 260 ký tự.

NotSupportedException

Tệp ở path’ chứa một cột (:) ở giữa dòng.

FileNotFoundException

file không được tìm thấy.

DirectoryNotFoundException

Con đường được chỉ định là vô hiệu, chẳng hạn như ở trên một ổ đĩa không được vẽ.

IOException

Tệp đã mở rồi.

SevenZipArchive(String[ ], Nhãn String)

Bắt đầu một ví dụ mới của lớp Aspose.Zip.SevenZip.SevenZipArchive từ tập tin đa khối 7z và tạo ra một danh sách nhập có thể được rút ra từ tập tin.

public SevenZipArchive(string[] parts, string password = null)

Parameters

parts string [ ]

Các bước đến mỗi phân khúc của đa khối 7z lưu trữ tuân thủ lệnh

password string

Mã tùy chọn cho mã hóa. nếu tên tệp được mã hóa, nó phải có mặt.

Examples

using (SevenZipArchive archive = new SevenZipArchive(new string[] { "multi.7z.001", "multi.7z.002", "multi.7z.003" }))
{
    archive.ExtractToDirectory("C:\\extracted");
}

Exceptions

ArgumentNullException

parts’ is null.

ArgumentException

parts’ has no entries.

SecurityException

Người gọi không có giấy phép cần thiết để truy cập.

ArgumentException

Con đường đến một tệp là trống rỗng, chỉ chứa các không gian trắng, hoặc chứa các ký tự vô hiệu.

UnauthorizedAccessException

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

PathTooLongException

Con đường được chỉ định cho một phần, tên tệp, hoặc cả hai vượt quá chiều dài tối đa được xác định bởi hệ thống. Ví dụ, trên nền tảng dựa trên Windows, con đường phải nhỏ hơn 248 ký tự, và tên tệp phải nhỏ hơn 260 ký tự.

NotSupportedException

Tệp trên một con đường chứa một cột (:) ở giữa dòng.

Properties

Entries

Gets entries of Aspose.Zip.SevenZip.SevenZipArchiveEntry type constituting the archive.

public ReadOnlyCollection<sevenziparchiveentry> Entries { get; }

Giá trị bất động sản

ReadOnlyCollection < SevenZipArchiveEntry >

NewEntrySettings

Cài đặt nén và mã hóa được sử dụng cho các mục Aspose.Zip.SevenZip.SevenZipArchiveEntry mới được thêm vào.

public SevenZipEntrySettings NewEntrySettings { get; }

Giá trị bất động sản

SevenZipEntrySettings

Methods

CreateEntries(Bảng tin tức, bool)

Thêm vào lưu trữ tất cả các tệp và thư mục lặp lại trong thư mục được cung cấp.

public SevenZipArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)

Parameters

directory DirectoryInfo

Hướng dẫn làm compress.

includeRootDirectory bool

Nó chỉ ra liệu phải bao gồm bản địa gốc hay không.

Returns

SevenZipArchive

Archive with các entries composed.

Examples

using (SevenZipArchive archive = new SevenZipArchive())
{
    DirectoryInfo folder = new DirectoryInfo("C:\folder");
    archive.CreateEntries(folder);
    archive.Save("folder.7z");
}

Exceptions

DirectoryNotFoundException

Con đường đến directory’ là vô hiệu, chẳng hạn như là trên một ổ đĩa không được bản đồ.

SecurityException

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

CreateEntries(Lời bài hát: Bool)

Thêm vào lưu trữ tất cả các tệp và thư mục lặp lại trong thư mục được cung cấp.

public SevenZipArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)

Parameters

sourceDirectory string

Hướng dẫn làm compress.

includeRootDirectory bool

Nó chỉ ra liệu phải bao gồm bản địa gốc hay không.

Returns

SevenZipArchive

Archive with các entries composed.

Examples

Kết hợp lưu trữ 7z với LZMA2 nén.

using (SevenZipArchive archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
{
    archive.CreateEntries("C:\folder");
    archive.Save("folder.7z");
}

CreateEntry(string, FileInfo, bool, SevenZipEntrySettings)

Tạo một bản ghi duy nhất trong hồ sơ.

public SevenZipArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)

Parameters

name string

Tên của entry.

fileInfo FileInfo

Các metadata của file để được nén.

openImmediately bool

Thật vậy, nếu bạn mở tệp ngay lập tức, nếu không mở tệp trên lưu trữ.

newEntrySettings SevenZipEntrySettings

Cài đặt nén và mã hóa được sử dụng để thêm Aspose.Zip.SevenZip.SevenZipArchiveEntry mục.

Returns

SevenZipArchiveEntry

Bảy lối vào zip.

Examples

Kết hợp lưu trữ với các bài đăng được mã hóa với các mật khẩu khác nhau mỗi.

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    FileInfo fi1 = new FileInfo("data1.bin");
    FileInfo fi2 = new FileInfo("data2.bin");
    FileInfo fi3 = new FileInfo("data3.bin");
    using (var archive = new SevenZipArchive())
    {
        archive.CreateEntry("entry1.bin", fi1, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test1")));
        archive.CreateEntry("entry2.bin", fi2, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test2")));
        archive.CreateEntry("entry3.bin", fi3, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test3")));
        archive.Save(sevenZipFile);
    }
}

Remarks

Tên đăng nhập chỉ được đặt trong parameter. tên tệp được cung cấp trong parameter không ảnh hưởng đến tên đăng nhập.

Nếu tệp được mở ngay lập tức với thông số, nó sẽ bị chặn cho đến khi lưu trữ được lưu.

Exceptions

UnauthorizedAccessException

fileInfo’ is read-only or is a directory.

DirectoryNotFoundException

Con đường được chỉ định là vô hiệu, chẳng hạn như ở trên một ổ đĩa không được vẽ.

IOException

Tệp đã mở rồi.

CreateEntry(dòng, Stream, SevenZipEntrySettings, FileSystemInfo)

Tạo một bản ghi duy nhất trong hồ sơ.

public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings, FileSystemInfo fileInfo)

Parameters

name string

Tên của entry.

source Stream

dòng đầu vào cho đầu vào.

newEntrySettings SevenZipEntrySettings

Cài đặt nén và mã hóa được sử dụng để thêm Aspose.Zip.SevenZip.SevenZipArchiveEntry mục.

fileInfo FileSystemInfo

Các metadata của tệp hoặc thư mục để được nén.

Returns

SevenZipArchiveEntry

Bảy bước đầu vào.

Examples

Kết hợp lưu trữ với LZMA2 nén nhập mã hóa.

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    using (var archive = new SevenZipArchive())
    {
        archive.CreateEntry("entry1.bin", new MemoryStream(new byte[] {0x00, 0xFF}), new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings(), new SevenZipAESEncryptionSettings("test1")), new FileInfo("data1.bin")); 
        archive.Save(sevenZipFile);
    }
}

Remarks

Tên đăng nhập chỉ được đặt trong parameter. tên tệp được cung cấp trong parameter không ảnh hưởng đến tên đăng nhập.

có thể tham khảo System.IO.DirectoryInfo nếu nhập là thư mục.

Exceptions

InvalidOperationException

Cả source’ và fileInfo’ là null hoặc source’ là null và fileInfo’ là biểu tượng cho thư mục.

CreateEntry(dòng, dòng, SevenZipEntrySettings)

Tạo một bản ghi duy nhất trong hồ sơ.

public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings = null)

Parameters

name string

Tên của entry.

source Stream

dòng đầu vào cho đầu vào.

newEntrySettings SevenZipEntrySettings

Cài đặt nén và mã hóa được sử dụng để thêm Aspose.Zip.SevenZip.SevenZipArchiveEntry mục.

Returns

SevenZipArchiveEntry

Giai đoạn nhập zip.

Examples

Kết hợp 7z lưu trữ với LZMA2 nén và mã hóa tất cả các bài đăng.

using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings(), new SevenZipAESEncryptionSettings("p@s$"))))
{
    archive.CreateEntry("data.bin", new MemoryStream(new byte[] {0x00, 0xFF} ));
    archive.Save("archive.7z");
}

CreateEntry(string, string, bool, SevenZipEntrySettings)

Tạo một bản ghi duy nhất trong hồ sơ.

public SevenZipArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)

Parameters

name string

Tên của entry.

path string

Tên đầy đủ của tệp mới, hoặc tên tệp tương đối để được nén.

openImmediately bool

Thật vậy, nếu bạn mở tệp ngay lập tức, nếu không mở tệp trên lưu trữ.

newEntrySettings SevenZipEntrySettings

Cài đặt nén và mã hóa được sử dụng để thêm Aspose.Zip.SevenZip.SevenZipArchiveEntry mục.

Returns

SevenZipArchiveEntry

Giai đoạn nhập zip.

Examples

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings())))
    {
        archive.CreateEntry("data.bin", "file.dat");
        archive.Save(sevenZipFile);
    }
}

Remarks

Tên đăng nhập chỉ được đặt trong parameter. tên tệp được cung cấp trong parameter không ảnh hưởng đến tên đăng nhập.

Nếu tệp được mở ngay lập tức với thông số, nó sẽ bị chặn cho đến khi lưu trữ được lưu.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Người gọi không có giấy phép cần thiết để truy cập.

ArgumentException

Đường path’ là trống, chỉ chứa các không gian trắng, hoặc chứa các ký tự vô hiệu.

UnauthorizedAccessException

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

PathTooLongException

Lối đi path", tên tệp, hoặc cả hai vượt quá chiều dài tối đa được xác định bởi hệ thống. Ví dụ, trên nền tảng dựa trên Windows, các con đường phải nhỏ hơn 248 ký tự, và tên tệp phải nhỏ hơn 260 ký tự.

NotSupportedException

Tệp ở path’ chứa một cột (:) ở giữa dòng.

Dispose()

Thực hiện các nhiệm vụ được xác định theo ứng dụng liên quan đến việc giải phóng, giải phóng hoặc tái quản lý các tài nguyên không được quản lý.

public void Dispose()

Dispose(Bool)

Thực hiện các nhiệm vụ được xác định theo ứng dụng liên quan đến việc giải phóng, giải phóng hoặc tái quản lý các tài nguyên không được quản lý.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

Liệu các tài nguyên được quản lý có nên được khai thác hay không.

ExtractToDirectory(Thẻ, string)

Loại bỏ tất cả các tập tin trong tập tin vào thư mục được cung cấp.

public void ExtractToDirectory(string destinationDirectory, string password = null)

Parameters

destinationDirectory string

Con đường đến thư mục để đặt các tập tin được lấy vào.

password string

Tùy chọn mật khẩu cho mã hóa nội dung.

Examples

using (var archive = new SevenZipArchive("archive.7z")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Remarks

Nếu thư mục không tồn tại, nó sẽ được tạo ra.

Nếu tên tệp được mã hóa, hãy cung cấp mật khẩu trong Aspose.Zip.SevenZapArchive.#ctor(System.String,Systems. String) hoặc __ WL51.ZIP.Năm.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

Các con đường cụ thể, tên tệp hoặc cả hai đều vượt quá chiều dài tối đa được xác định bởi hệ thống. Ví dụ, trên nền tảng dựa trên Windows, con đường 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ó giấy phép 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, con đường chứa một ký tự vỏ (:) không phải là một phần của một nhãn ổ đĩa (“C:”).

ArgumentException

destinationDirectory’ is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the System.IO.Path.GetInvalidPathChars method. -or- path is prefixed with, or contains, only a colon character (:).

IOException

Danh mục được chỉ định theo con đường là một tệp. -or- Tên mạng không được biết.

InvalidDataException

Tài liệu đã bị phá hủy.

Save(Stream)

Tiết kiệm 7z lưu trữ cho dòng được cung cấp.

public void Save(Stream output)

Parameters

output Stream

Destination dòng

Examples

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
  using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
  {
    using (var archive = new SevenZipArchive())
    {
      archive.CreateEntry("data", source);
      archive.Save(sevenZipFile);
    }
  }
}

Remarks

phải được tìm kiếm.

Exceptions

ArgumentException

output’ does not support seeking.

ArgumentNullException

output’ is null.

InvalidOperationException

Bộ mã hóa không thể làm hỏng dữ liệu.

Save(String)

Tiết kiệm lưu trữ đến một tập tin đích được cung cấp.

public void Save(string destinationFileName)

Parameters

destinationFileName string

Nếu tên tệp được chỉ định cho một tệp hiện có, nó sẽ được viết quá.

Examples

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
   using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
   {
      archive.CreateEntry("data", source);
      archive.Save("archive.7z");
   }
}

Remarks

Nó có thể được lưu trữ một tập tin theo cùng một con đường như nó đã được tải về từ. tuy nhiên, điều này không được khuyến khích bởi vì phương pháp này sử dụng sao chép vào một tập tin tạm thời.

Exceptions

ArgumentNullException

destinationFileName’ is null.

SecurityException

Người gọi không có giấy phép cần thiết để truy cập.

ArgumentException

destinationFileName’ là trống, chỉ chứa các không gian trắng, hoặc chứa các ký tự vô hiệu.

UnauthorizedAccessException

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

PathTooLongException

Mục đích destinationFileName’, tên tệp, hoặc cả hai vượt quá chiều dài tối đa được xác định bởi hệ thống. Ví dụ, trên nền tảng dựa trên Windows, con đường phải nhỏ hơn 248 ký tự, và tên tệp phải nhỏ hơn 260 ký tự.

NotSupportedException

File tại destinationFileName’ chứa một cột (:) ở giữa dòng.

SaveSplit(Thẻ, SplitSevenZipArchiveSaveOptions)

Tiết kiệm lưu trữ đa khối vào thư mục đích được cung cấp.

public void SaveSplit(string destinationDirectory, SplitSevenZipArchiveSaveOptions options)

Parameters

destinationDirectory string

Con đường đến thư mục nơi các phân khúc lưu trữ sẽ được tạo.

options SplitSevenZipArchiveSaveOptions

Các tùy chọn lưu trữ, bao gồm tên tệp.

Examples

using (SevenZipArchive archive = new SevenZipArchive())
{
    archive.CreateEntry("entry.bin", "data.bin");
    archive.SaveSplit(@"C:\Folder",  new SplitSevenZipArchiveSaveOptions("volume", 65536));
}

Remarks

Phương pháp này bao gồm nhiều () file filename.7z.001, filename.7z.002, …, filename.7z.(n).

Không thể tạo ra nhiều khối lượng lưu trữ hiện có.

Exceptions

InvalidOperationException

Tài liệu này được mở từ nguồn hiện có.

ArgumentNullException

destinationDirectory’ is null.

SecurityException

Người gọi không có giấy phép cần thiết để truy cập thư mục.

ArgumentException

destinationDirectory’ contains invalid characters such as “, >, <, or |.

PathTooLongException

Đường được chỉ định vượt quá chiều dài tối đa được xác định bởi hệ thống.

 Tiếng Việt