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
Implements
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
sourceStream’ is not seekable.
sourceStream’ is null.
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
path’ is null.
Người gọi không có giấy phép cần thiết để truy cập.
Đườ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.
Truy cập vào tệp path" bị từ chối.
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ự.
Tệp ở path’ chứa một cột (:) ở giữa dòng.
file không được tìm thấy.
Con đường được chỉ định là vô hiệu, chẳng hạn như ở trên một ổ đĩa không được vẽ.
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
parts’ is null.
parts’ has no entries.
Người gọi không có giấy phép cần thiết để truy cập.
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.
Truy cập vào một tệp bị từ chối.
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ự.
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
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
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
Con đường đến directory’ là vô hiệu, chẳng hạn như là trên một ổ đĩa không được bản đồ.
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
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
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
fileInfo’ is read-only or is a directory.
Con đường được chỉ định là vô hiệu, chẳng hạn như ở trên một ổ đĩa không được vẽ.
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
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
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
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
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
path’ is null.
Người gọi không có giấy phép cần thiết để truy cập.
Đườ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.
Truy cập vào tệp path" bị từ chối.
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ự.
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
destinationDirectory’ is null.
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ự.
Người gọi không có giấy phép cần thiết để truy cập thư mục hiện có.
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:”).
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 (:).
Danh mục được chỉ định theo con đường là một tệp. -or- Tên mạng không được biết.
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
output’ does not support seeking.
output’ is null.
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
destinationFileName’ is null.
Người gọi không có giấy phép cần thiết để truy cập.
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.
Truy cập vào tệp destinationFileName’ bị từ chối.
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ự.
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
Tài liệu này được mở từ nguồn hiện có.
destinationDirectory’ is null.
Người gọi không có giấy phép cần thiết để truy cập thư mục.
destinationDirectory’ contains invalid characters such as “, >, <, or |.
Đường được chỉ định vượt quá chiều dài tối đa được xác định bởi hệ thống.