วิธีการสร้างไฟล์ ZIP ในหน่วยความจำด้วย C#
ในบทเรียนขั้นตอนนี้คุณจะเรียนรู้วิธีการสร้างไฟล์ ZIP ในหน่วยความจําโดยใช้ C# กระบวนการที่ระบุไว้ที่นี่ช่วยให้คุณสามารถบีบอัดไฟล์และโฟลเดอร์ลงในรูปแบบ ZIP โดยไม่ต้องสร้างไฟล์ทางกายภาพบนดิสก์
ประโยชน์ของการสร้างไฟล์ ZIP ในหน่วยความจํา
การแสดงผล:- หลีกเลี่ยงแผ่น I / O ด้านบนทําให้กระบวนการเร็วขึ้น
การจัดเก็บชั่วคราว:- Keeps ไฟล์ในหน่วยความจําสําหรับการเข้าถึงและประมวลผลอย่างรวดเร็ว
ความยืดหยุ่น:- ช่วยให้การดําเนินงานเช่นการส่งไฟล์ผ่านเครือข่ายโดยไม่มีการจัดเก็บกลาง
ข้อกําหนด: การเตรียมสิ่งแวดล้อม
- ติดตั้ง Visual Studio หรือ IDE .NET ที่เข้ากันได้ใด ๆ
- ติดตั้ง Aspose.ZIP จาก NuGet Package Manager
คู่มือขั้นตอนเพื่อสร้างไฟล์ ZIP ในหน่วยความจํา
ขั้นตอน 1: ติดตั้ง Aspose.ZIP
เริ่มต้นโดยเพิ่มห้องสมุด Aspose.ZIP ไปยังโครงการของคุณ
Install-Package Aspose.ZIP
ขั้นตอนที่ 2: รวมพื้นที่ชื่อ
เพิ่ม Aspose.Zip
nameespace ไปยังรหัสของคุณเพื่อใช้ฟังก์ชั่นของมัน
using Aspose.Zip;
ขั้นตอนที่ 3: ดาวน์โหลดไฟล์จากดิสก์
กลับเส้นทางไฟล์จากโฟลเดอร์แหล่งที่มาไปยังแถว string
string[] filesArray = Directory.GetFiles("YourFolderPath", "*.*", SearchOption.TopDirectoryOnly);
ขั้นตอน 4: สร้างวัตถุ Archive
อัจฉริยะ Archive
วัตถุในหน่วยความจําเพื่อเก็บรหัส ZIP
using (MemoryStream zipFileInMemory = new MemoryStream())
{
using (Archive zipArchive = new Archive())
{
// Further processing follows here
}
}
ขั้นตอนที่ 5: สร้างรายการ Archive
ลองผ่านไฟล์ array และสร้างไฟล์ ArchiveEntry
สําหรับแต่ละไฟล์
foreach (string fileDiskPath in filesArray)
{
string fileName = Path.GetFileName(fileDiskPath);
zipArchive.CreateEntry(fileName, fileDiskPath);
}
ขั้นตอน 6: บันทึกไฟล์ ZIP ในหน่วยความจํา
สร้างไฟล์ ZIP ในหน่วยความจําโดยบันทึกไว้ใน MemoryStream
.
zipArchive.Save(zipFileInMemory);
ตัวอย่างรหัสสมบูรณ์เพื่อสร้างไฟล์ ZIP ในหน่วยความจํา
นี่คือรหัสสมบูรณ์ที่อธิบายวิธีการสร้างไฟล์ ZIP ในหน่วยความจํา:
// Create a MemoryStream instance for the ZIP file
using (MemoryStream zipFileInMemory = new MemoryStream())
{
// Create an empty Archive object for ZIP
using (Archive zipArchive = new Archive())
{
// Get all files from a folder and store their paths in a string array
string[] filesArray = Directory.GetFiles("YourFolderPath", "*.*", SearchOption.TopDirectoryOnly);
// Loop through the array and create an ArchiveEntry for each file
foreach (string fileDiskPath in filesArray)
{
string fileName = Path.GetFileName(fileDiskPath);
zipArchive.CreateEntry(fileName, fileDiskPath);
}
// Save the Archive in memory
zipArchive.Save(zipFileInMemory);
}
}
ข้อมูลเพิ่มเติม
- คุณสามารถแก้ไขรหัสได้อย่างง่ายดายเพื่อใช้วิธีการเข้ารหัสหรือการบีบอัดไปยังไฟล์ ZIP
- โซลูชันนี้ช่วยให้คุณสามารถดําเนินการเพิ่มเติมบนไฟล์ ZIP ในหน่วยความจําเช่นส่งผ่านเครือข่ายหรือบันทึกไปยังดิสก์ในภายหลัง
ข้อสรุป
การฝึกอบรมนี้ได้แสดงให้เห็นว่าวิธีการสร้างไฟล์ ZIP ในหน่วยความจําโดยใช้ C# โดยการปฏิบัติตามคําสั่งที่ให้คุณสามารถจัดการการบีบอัดไฟล์ได้อย่างมีประสิทธิภาพภายในแอพของคุณโดยไม่ต้องสร้างไฟล์ทางกายภาพ สําหรับคุณสมบัติขั้นสูงกว่าเช่นการสกัดไฟล์ ZIP โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับ Aspose.ZIP