Class SevenZipArchive
ชื่อพื้นที่: Aspose.Zip.SevenZip การประกอบ: Aspose.Zip.dll (25.5.0)
คลาสนี้แสดงให้เห็นถึงไฟล์ archive 7z ใช้เพื่อประกอบและสกัดไฟล์ archive 7z
public class SevenZipArchive : IArchive, IDisposable
Inheritance
Implements
อนุญาโตตุลาการ
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
SevenZipArchive(SevenZipEntrySettings)
เปิดตัวตัวอย่างใหม่ของคลาส Aspose.Zip.SevenZip.SevenZipArchive ด้วยการตั้งค่าทางเลือกสําหรับรายการ
public SevenZipArchive(SevenZipEntrySettings newEntrySettings = null)
Parameters
newEntrySettings
SevenZipEntrySettings
การกําหนดค่าการบีบอัดและการเข้ารหัสที่ใช้สําหรับรายการ Aspose.Zip.SevenZip.SevenZipArchiveEntry ที่เพิ่มใหม่หากไม่ได้ระบุการบีบอัด LZMA โดยไม่มีการเข้ารหัสจะใช้
Examples
ตัวอย่างต่อไปนี้แสดงให้เห็นว่าวิธีการบีบอัดไฟล์เดียวด้วยการตั้งค่าที่กําหนดเอง: LZMA Compression without encryption
using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
using (var archive = new SevenZipArchive())
{
archive.CreateEntry("data.bin", "file.dat");
archive.Save(sevenZipFile);
}
}
SevenZipArchive(กระแส, string)
เปิดตัวตัวอย่างใหม่ของคลาส Aspose.Zip.SevenZip.SevenZipArchive และประกอบรายการเข้าที่สามารถนําออกจากเอกสาร
public SevenZipArchive(Stream sourceStream, string password = null)
Parameters
sourceStream
Stream
แหล่งกําเนิดของไฟล์
password
string
ตัวเลือกรหัสผ่านสําหรับการ decryption หากชื่อไฟล์ถูกเข้ารหัสแล้วมันจะต้องมีอยู่
Examples
using (SevenZipArchive archive = new SevenZipArchive(File.OpenRead("archive.7z")))
{
archive.ExtractToDirectory("C:\\extracted");
}
Remarks
ผู้ก่อสร้างนี้ไม่บีบอัดส่วนใด ๆ ดู Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) วิธีการบีบอัด
Exceptions
sourceStream’ is not seekable.
sourceStream’ is null.
บันทึกมีตัวเข้ารหัสมากกว่าหนึ่ง ตอนนี้การบีบอัด LZMA เท่านั้นได้รับการสนับสนุน
SevenZipArchive(รั้ว, รั้ว)
เปิดตัวตัวอย่างใหม่ของคลาส Aspose.Zip.SevenZip.SevenZipArchive และประกอบรายการเข้าที่สามารถนําออกจากเอกสาร
public SevenZipArchive(string path, string password = null)
Parameters
path
string
การรับรองเต็มรูปแบบหรือเส้นทางที่เกี่ยวข้องกับไฟล์สํารองข้อมูล
password
string
ตัวเลือกรหัสผ่านสําหรับการ decryption หากชื่อไฟล์ถูกเข้ารหัสแล้วมันจะต้องมีอยู่
Examples
using (SevenZipArchive archive = new SevenZipArchive("archive.7z"))
{
archive.ExtractToDirectory("C:\\extracted");
}
Remarks
ผู้ก่อสร้างนี้ไม่บีบอัดส่วนใด ๆ ดู Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) วิธีการบีบอัด
Exceptions
path’ is null.
ผู้โทรไม่ได้รับอนุญาตให้เข้าถึง
path" เป็นที่ว่างเปล่ามีพื้นที่สีขาวเท่านั้นหรือมีตัวอักษรที่ไม่ถูกต้อง
การเข้าถึงไฟล์ path" ถูกปฏิเสธ
ระบุ path’, ชื่อไฟล์, หรือทั้งสองเกินความยาวสูงสุดที่กําหนดโดยระบบ ตัวอย่างเช่นบนแพลตฟอร์มที่ใช้ Windows, เส้นทางจะต้องน้อยกว่า 248 หมายเลขและชื่อไฟล์จะต้องน้อยกว่า 260 หมายเลข
ไฟล์ใน path" มีคอลัมน์ (:) ในส่วนกลางของเส้น
ไฟล์ไม่ได้พบ
เส้นทางที่ระบุไม่ถูกต้องเช่นอยู่บนไดรฟ์ที่ไม่มีแผนที่
ไฟล์นี้เปิดแล้ว
SevenZipArchive(รั้ว[ ], ภาษาไทย)
เริ่มต้นตัวอย่างใหม่ของ Aspose.Zip.SevenZip.SevenZipArchive class จากไฟล์ 7z มัลติวาล์วและประกอบรายการที่สามารถนําเข้าได้จากไฟล์
public SevenZipArchive(string[] parts, string password = null)
Parameters
parts
string
[ ]
ขั้นตอนไปยังแต่ละส่วนของไฟล์ 7z มัลติปริมาณที่ปฏิบัติตามคําสั่ง
password
string
ตัวเลือกรหัสผ่านสําหรับการ decryption หากชื่อไฟล์ถูกเข้ารหัสแล้วมันจะต้องมีอยู่
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.
ผู้โทรไม่ได้รับอนุญาตให้เข้าถึง
เส้นทางไปยังไฟล์นั้นว่างเปล่ามีพื้นที่สีขาวเท่านั้นหรือมีตัวอักษรที่ไม่ถูกต้อง
การเข้าถึงไฟล์จะถูกปฏิเสธ
เส้นทางที่ระบุไปยังส่วนชื่อไฟล์หรือทั้งสองเกินความยาวสูงสุดที่กําหนดโดยระบบ ตัวอย่างเช่นบนแพลตฟอร์มที่ใช้ Windows เส้นทางจะต้องน้อยกว่า 248 หมายเลขและชื่อไฟล์จะต้องน้อยกว่า 260 หมายเลข
ไฟล์ที่เส้นทางประกอบด้วยคอลัมน์ (:) ในส่วนกลางของเส้น
Properties
Entries
ได้รับรายการของ Aspose.Zip.SevenZip.SevenZipArchiveEntry หมายเลขที่ประกอบด้วยไฟล์
public ReadOnlyCollection<sevenziparchiveentry> Entries { get; }
คุณสมบัติมูลค่า
ReadOnlyCollection < SevenZipArchiveEntry >
NewEntrySettings
การกําหนดค่าการบีบอัดและการเข้ารหัสที่ใช้สําหรับรายการ Aspose.Zip.SevenZip.SevenZipArchiveEntry ที่เพิ่มใหม่
public SevenZipEntrySettings NewEntrySettings { get; }
คุณสมบัติมูลค่า
Methods
CreateEntries(DirectoryInfo, บอล)
เพิ่มไฟล์และตารางทั้งหมดในตารางที่ระบุ
public SevenZipArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)
Parameters
directory
DirectoryInfo
คู่มือการบีบอัด
includeRootDirectory
bool
แสดงให้เห็นว่าจะรวมกล่องรากตัวเองหรือไม่
Returns
ไฟล์ที่ประกอบด้วยรายการ
Examples
using (SevenZipArchive archive = new SevenZipArchive())
{
DirectoryInfo folder = new DirectoryInfo("C:\folder");
archive.CreateEntries(folder);
archive.Save("folder.7z");
}
Exceptions
เส้นทางไปยัง directory" ไม่สามารถใช้งานได้เช่นอยู่บนไดรฟ์ที่ไม่ได้ทําเครื่องหมาย
ผู้โทรไม่ได้รับอนุญาตที่จําเป็นในการเข้าถึง directory".
CreateEntries(บอล, บอล)
เพิ่มไฟล์และตารางทั้งหมดในตารางที่ระบุ
public SevenZipArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)
Parameters
sourceDirectory
string
คู่มือการบีบอัด
includeRootDirectory
bool
แสดงให้เห็นว่าจะรวมกล่องรากตัวเองหรือไม่
Returns
ไฟล์ที่ประกอบด้วยรายการ
Examples
รวมไฟล์ 7z ด้วยการบีบอัด LZMA2
using (SevenZipArchive archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
{
archive.CreateEntries("C:\folder");
archive.Save("folder.7z");
}
CreateEntry(string, FileInfo, bool, SevenZipEntrySettings)
สร้างรายการเดียวภายในเอกสาร
public SevenZipArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
ชื่อของรายการ
fileInfo
FileInfo
metadata ของไฟล์ที่จะถูกบีบอัด
openImmediately
bool
จริงๆถ้าคุณเปิดไฟล์ได้ทันทีหรือเปิดไฟล์ที่บันทึกไฟล์
newEntrySettings
SevenZipEntrySettings
การกําหนดค่าการบีบอัดและการเข้ารหัสที่ใช้สําหรับการเพิ่ม Aspose.Zip.SevenZip.SevenZipArchiveEntry รายการ
Returns
7 ชิ้นส่วนเข้า Zip
Examples
รวมไฟล์ที่มีรายการเข้ารหัสด้วยรหัสผ่านที่แตกต่างกันแต่ละ
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
ชื่อเข้าตั้งไว้เฉพาะภายในพารามิเตอร์ ชื่อไฟล์ที่ระบุไว้ในพารามิเตอร์ไม่ส่งผลต่อชื่อเข้า
หากไฟล์จะเปิดโดยตรงกับพารามิเตอร์จะถูกบล็อกจนกว่าไฟล์จะถูกบันทึกไว้
Exceptions
fileInfo’ is read-only or is a directory.
เส้นทางที่ระบุไม่ถูกต้องเช่นอยู่บนไดรฟ์ที่ไม่มีแผนที่
ไฟล์นี้เปิดแล้ว
CreateEntry(string, Stream, SevenZipEntrySettings, FileSystemInfo)
สร้างรายการเดียวภายในเอกสาร
public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings, FileSystemInfo fileInfo)
Parameters
name
string
ชื่อของรายการ
source
Stream
การเข้าสู่ระบบสําหรับเข้าสู่ระบบ
newEntrySettings
SevenZipEntrySettings
การกําหนดค่าการบีบอัดและการเข้ารหัสที่ใช้สําหรับการเพิ่ม Aspose.Zip.SevenZip.SevenZipArchiveEntry รายการ
fileInfo
FileSystemInfo
metadata ของไฟล์หรือโฟลเดอร์ที่จะถูกบีบอัด
Returns
SevenZip การเข้าสู่ระบบ
Examples
รวมไฟล์ด้วย LZMA2 คอมเพรสเข้าเข้ารหัส
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
ชื่อเข้าตั้งไว้เฉพาะภายในพารามิเตอร์ ชื่อไฟล์ที่ระบุไว้ในพารามิเตอร์ไม่ส่งผลต่อชื่อเข้า
สามารถอ้างอิงไปยัง System.IO.DirectoryInfo หากรายการเป็นไดเรกทอรี
Exceptions
ทั้ง source’ และ
fileInfo’ เป็น null หรือ
source’ เป็น null และ
fileInfo’ เป็นตัวแทนสําหรับตาราง
CreateEntry(string, กระแส, SevenZipEntrySettings)
สร้างรายการเดียวภายในเอกสาร
public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
ชื่อของรายการ
source
Stream
การเข้าสู่ระบบสําหรับเข้าสู่ระบบ
newEntrySettings
SevenZipEntrySettings
การกําหนดค่าการบีบอัดและการเข้ารหัสที่ใช้สําหรับการเพิ่ม Aspose.Zip.SevenZip.SevenZipArchiveEntry รายการ
Returns
การเข้าสู่ระบบ ZIP
Examples
รวมไฟล์ 7z กับ LZMA2 การบีบอัดและการเข้ารหัสของรายการทั้งหมด
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)
สร้างรายการเดียวภายในเอกสาร
public SevenZipArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
ชื่อของรายการ
path
string
ชื่อไฟล์ใหม่ที่มีคุณภาพเต็มรูปแบบหรือชื่อไฟล์ที่เกี่ยวข้องที่จะถูกบีบอัด
openImmediately
bool
จริงๆถ้าคุณเปิดไฟล์ได้ทันทีหรือเปิดไฟล์ที่บันทึกไฟล์
newEntrySettings
SevenZipEntrySettings
การกําหนดค่าการบีบอัดและการเข้ารหัสที่ใช้สําหรับการเพิ่ม Aspose.Zip.SevenZip.SevenZipArchiveEntry รายการ
Returns
การเข้าสู่ระบบ 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
ชื่อเข้าตั้งไว้เฉพาะภายในพารามิเตอร์ ชื่อไฟล์ที่ระบุไว้ในพารามิเตอร์ไม่ส่งผลต่อชื่อเข้า
หากไฟล์จะเปิดโดยตรงกับพารามิเตอร์จะถูกบล็อกจนกว่าไฟล์จะถูกบันทึกไว้
Exceptions
path’ is null.
ผู้โทรไม่ได้รับอนุญาตให้เข้าถึง
path" เป็นที่ว่างเปล่ามีพื้นที่สีขาวเท่านั้นหรือมีตัวอักษรที่ไม่ถูกต้อง
การเข้าถึงไฟล์ path" ถูกปฏิเสธ
ระบุ path’, ชื่อไฟล์, หรือทั้งสองเกินความยาวสูงสุดที่กําหนดโดยระบบ ตัวอย่างเช่นบนแพลตฟอร์มที่ใช้ Windows, เส้นทางจะต้องน้อยกว่า 248 หมายเลขและชื่อไฟล์จะต้องน้อยกว่า 260 หมายเลข
ไฟล์ใน path" มีคอลัมน์ (:) ในส่วนกลางของเส้น
Dispose()
ทําหน้าที่ที่กําหนดโดยการใช้งานที่เกี่ยวข้องกับการปล่อยทรัพยากรที่ไม่ได้รับการจัดการหรือรีไซเคิล
public void Dispose()
Dispose(บอล)
ทําหน้าที่ที่กําหนดโดยการใช้งานที่เกี่ยวข้องกับการปล่อยทรัพยากรที่ไม่ได้รับการจัดการหรือรีไซเคิล
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
ไม่ว่าทรัพยากรที่จัดการควรจะถูกกําจัด
ExtractToDirectory(รั้ว, รั้ว)
extract all the files in the archive to the directory provided
public void ExtractToDirectory(string destinationDirectory, string password = null)
Parameters
destinationDirectory
string
เส้นทางไปยังไดเรกทอรีเพื่อวางไฟล์ที่สกัด
password
string
ตัวเลือกรหัสผ่านสําหรับการ decryption ของเนื้อหา
Examples
using (var archive = new SevenZipArchive("archive.7z"))
{
archive.ExtractToDirectory("C:\extracted");
}
Remarks
หากไดเรกทอรีไม่ได้มีมันจะถูกสร้างขึ้น
ใช้สําหรับการ decryption เนื้อหาเท่านั้น หากชื่อไฟล์ถูกเข้ารหัสให้รหัสผ่านใน Aspose Zip.SevenZipArchive.#ctor(System.String,Systems. String) หรือ __ WL53__.ZIP.NightZiP.Ctor (Sistem.IO.Stream,system.string ) ผู้สร้าง
Exceptions
destinationDirectory’ is null.
เส้นทางที่ระบุชื่อไฟล์หรือทั้งสองเกินความยาวสูงสุดที่กําหนดโดยระบบ ตัวอย่างเช่นบนแพลตฟอร์มที่ใช้ Windows เส้นทางจะต้องน้อยกว่า 248 หมายเลขและชื่อไฟล์จะต้องน้อยกว่า 260 หมายเลข
ผู้โทรไม่ได้รับอนุญาตที่จําเป็นในการเข้าถึงไดเรกทอรีที่มีอยู่
หากไดเรกทอรีไม่ได้มีเส้นทางมีตัวอักษรของ colon (:) ซึ่งไม่ได้เป็นส่วนหนึ่งของแท็กไดรฟ์ (“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 (:).
แผนที่ที่ระบุโดยเส้นทางเป็นไฟล์ -หรือ- ชื่อเครือข่ายไม่ทราบ
ไฟล์นี้ถูกทําลาย
Save(Stream)
เก็บไฟล์ 7z ไปยังกระแสที่ให้
public void Save(Stream output)
Parameters
output
Stream
การไหลของเป้าหมาย
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
จําเป็นต้องมองหา
Exceptions
output’ does not support seeking.
output’ is null.
Encoder ไม่สามารถบีบอัดข้อมูลได้
Save(รั้ว)
บันทึกไฟล์ไปยังไฟล์ปลายทางที่ให้
public void Save(string destinationFileName)
Parameters
destinationFileName
string
วิธีของไฟล์ที่จะสร้าง หากชื่อไฟล์ที่ระบุหมายถึงไฟล์ที่มีอยู่มันจะถูกเขียนเกินไป
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
มันเป็นไปได้ที่จะบันทึกไฟล์ไปยังเส้นทางเดียวกันเมื่อมันถูกโหลด จาก อย่างไรก็ตามนี่ไม่แนะนําเพราะวิธีการนี้ใช้การคัดลอกไปยังไฟล์ชั่วคราว
Exceptions
destinationFileName’ is null.
ผู้โทรไม่ได้รับอนุญาตให้เข้าถึง
destinationFileName’ เป็นที่ว่างเปล่ามีพื้นที่สีขาวเท่านั้นหรือมีตัวอักษรที่ไม่ถูกต้อง
การเข้าถึงไฟล์ destinationFileName’ ถูกปฏิเสธ
คําอธิบาย destinationFileName’, ชื่อไฟล์, หรือทั้งสองเกินความยาวสูงสุดที่กําหนดโดยระบบ ตัวอย่างเช่นบนแพลตฟอร์มที่ใช้ Windows, เส้นทางจะต้องน้อยกว่า 248 หมายเลขและชื่อไฟล์จะต้องน้อยกว่า 260 หมายเลข
ไฟล์ที่ destinationFileName’ มีคอลัมน์ (:) ในส่วนกลางของเส้น
SaveSplit(ลวด, SplitSevenZipArchiveSaveOptions)
บันทึกไฟล์หลายปริมาณไปยังไดเรกทอรีปลายทางที่ให้
public void SaveSplit(string destinationDirectory, SplitSevenZipArchiveSaveOptions options)
Parameters
destinationDirectory
string
เส้นทางไปยังไดเรกทอรีที่องค์ประกอบเอกสารจะถูกสร้าง
options
SplitSevenZipArchiveSaveOptions
ตัวเลือกการบันทึกไฟล์รวมถึงชื่อไฟล์
Examples
using (SevenZipArchive archive = new SevenZipArchive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.SaveSplit(@"C:\Folder", new SplitSevenZipArchiveSaveOptions("volume", 65536));
}
Remarks
วิธีการนี้ประกอบด้วยไฟล์หลาย () filename.7z.001, filename.7z.002, …, filename.7z.(n)
ไม่สามารถสร้างไฟล์ที่มีอยู่หลายปริมาณ
Exceptions
ไฟล์นี้ถูกเปิดจากแหล่งที่มีอยู่
destinationDirectory’ is null.
ผู้โทรไม่ได้รับอนุญาตที่จําเป็นในการเข้าถึงไดเรกทอรี
destinationDirectory’ contains invalid characters such as “, >, <, or |.
เส้นทางที่ระบุเกินความยาวสูงสุดที่กําหนดโดยระบบ