ไฟล์เก็บถาวรเช่น ZIP, RAR, TAR, GZIP, BZIP2 มักใช้เพื่อจัดเก็บไฟล์และโฟลเดอร์มากกว่าหนึ่งไฟล์ในคอนเทนเนอร์เดียว อีกเหตุผลหลักสำหรับไฟล์เก็บถาวรคือการลดขนาดไฟล์ทั้งหมดโดยใช้อัลกอริธึมการบีบอัด เช่นเดียวกับการแยกวิเคราะห์และแยกข้อมูลจากเอกสารในรูปแบบไฟล์ต่างๆ คุณสามารถจัดการกับไฟล์เก็บถาวรได้ในลักษณะเดียวกัน คุณสามารถแยกข้อความ รูปภาพ และแม้แต่ข้อมูลเมตาจากไฟล์ที่ถูกบีบอัดภายในไฟล์เก็บถาวร ในบทความนี้ เราจะพูดถึงวิธีแยกข้อมูลไฟล์ ZIP โดยใช้ C# กับแอปพลิเคชัน .NET ของคุณ
หัวข้อต่อไปนี้ครอบคลุมด้านล่าง:
.NET API เพื่อแยกข้อมูลไฟล์ ZIP
GroupDocs.Parser ให้บริการโซลูชันการแยกวิเคราะห์เอกสารสำหรับนักพัฒนา ฉันจะใช้ .NET API เพื่อแยกข้อมูลไฟล์ ZIP ภายในตัวอย่าง C# ของบทความนี้ นอกจากนี้ API ยังอนุญาตให้แยกข้อความ รูปภาพ และข้อมูลเมตาจากรายการ [รูปแบบเอกสารที่รองรับ] มากมาย 5 เช่น เอกสารประมวลผลคำ งานนำเสนอ สเปรดชีต อีเมล ฐานข้อมูล eBook และอื่นๆ อีกมากมาย
คุณสามารถดาวน์โหลด DLLs หรือตัวติดตั้ง MSI ได้จาก ส่วนการดาวน์โหลด หรือติดตั้ง API โดยเพิ่มแพ็คเกจลงในแอปพลิเคชัน .NET ของคุณผ่าน NuGet
PM> Install-Package GroupDocs.Parser
วิธีการแยกข้อมูลไฟล์ ZIP ใน C#
GroupDocs.Parser for .NET รองรับการดึงข้อมูลจากไฟล์บีบอัดรูปแบบต่างๆ เช่น ZIP, RAR, TAR, BZIP2 และ GZIP หลังจากเรียกคอลเล็กชันของไฟล์จากไฟล์บีบอัดแล้ว คุณสามารถดึงข้อมูลประเภทใดก็ได้จากแต่ละไฟล์เพิ่มเติม
ขั้นตอนต่อไปนี้แสดงวิธีการแยกข้อมูลไฟล์ ZIP และดึงข้อความจากแต่ละไฟล์ที่อยู่ใน C#
- โหลดไฟล์ ZIP โดยใช้คลาส Parser
- รับไฟล์แนบโดยใช้เมธอด GetContainer
- สำรวจคอลเลกชันของไฟล์แนบ
- สำหรับสิ่งที่แนบมาแต่ละรายการ คุณจะได้รับข้อมูลประเภทต่างๆ กันโดยใช้เมธอดของคลาส Parser ตามลำดับ
ซอร์สโค้ดแสดงวิธีแยกข้อมูลไฟล์ ZIP โดยใช้ C# ในตัวอย่างนี้ ฉันจะแยกข้อความทั้งหมดออกจากไฟล์ทั้งหมดภายในไฟล์ ZIP
// แยกข้อมูลไฟล์เก็บถาวร ZIP ใน C#
using (Parser parser = new Parser(@"path/sample.zip"))
{
// แยกไฟล์แนบออกจากคอนเทนเนอร์
IEnumerable<ContainerItem> attachments = parser.GetContainer();
// วนซ้ำการรวบรวมเอนทิตี
foreach (ContainerItem item in attachments)
{
// พิมพ์ข้อมูลไฟล์
Console.WriteLine("-----------------------------------");
Console.WriteLine("Name: " + item.Name);
Console.WriteLine("File Size: " + item.Size + " Bytes");
Console.WriteLine("-----------------------------------");
try
{
using (Parser attachmentParser = item.OpenParser())
{
// แยกข้อความเอนทิตี ZIP
using (TextReader reader = attachmentParser.GetText())
{
Console.WriteLine(reader == null ? "No text" : reader.ReadToEnd());
}
}
}
catch (UnsupportedDocumentFormatException)
{
Console.WriteLine("Isn't supported.");
}
}
}
ผลลัพธ์ของซอร์สโค้ดด้านบนแสดงข้อความที่ดึงมาจากไฟล์ PDF ไฟล์ใดไฟล์หนึ่งภายในไฟล์ ZIP
-----------------------------------
Name: sample.pdf
File Size: 33370 Bytes
-----------------------------------
Heading
This is the first paragraph of the sample document that contains some sample
text, bulleted list, numbered list and more.
• Bullet Item 1
• Bullet Item 2
• Bullet Item 3
This is the second paragraph of the sample document and after this, there is a
numbered list:
1. Numbered Item 1
2. Numbered Item 2
3. Numbered Item 3
รับใบอนุญาต API ฟรี
คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อใช้ API โดยไม่มีข้อจำกัดในการประเมิน
บทสรุป
โดยสรุป คุณได้เรียนรู้วิธีแยกข้อมูล ZIP archives โดยใช้ C# ภายในแอปพลิเคชัน .NET ของคุณ โดยเฉพาะอย่างยิ่ง คุณสามารถดึงข้อมูลจากไฟล์ ZIP, RAR, TAR, GZIP และ BZIP ได้แล้ว คุณสามารถสร้างแอปพลิเคชัน .NET สำหรับการดึงข้อมูลของคุณเองสำหรับไฟล์บีบอัด สำหรับรายละเอียดเพิ่มเติมหรือเรียนรู้เกี่ยวกับ API โปรดไปที่ เอกสารประกอบ สำหรับข้อสงสัย ติดต่อเราผ่านทาง ฟอรัม