.NET ???????????????
??
???????C# ??? .NET API ????? ??????????????????????????? Zip ?????????????????? 1 ???????????? zip ????????????????????? zip ???????????????????????????????????
C# ???????????????C# ????????????????
Aspose.ZIP API ??????????????????????????????????????????????????????????????????????????????
???????
?????????
- ?? zip ??????????????? ???? ????? ???????
- ????????????????????????????
- Archive ?????????????????? ArchiveEntrySettings ????????????????
- Archive.CreateEntry????????????2???????????????????
- Archive.Save ???????????? ??????????? 1 ????????? ???????????
1 // For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
2 using (FileStream zipFile = File.Open(dataDir + "CompressSingleFile_out.zip", FileMode.Create))
3 {
4 //File to be added to archive
5 using (FileStream source1 = File.Open(dataDir + "alice29.txt", FileMode.Open, FileAccess.Read))
6 {
7 using (var archive = new Archive(new ArchiveEntrySettings()))
8 {
9 archive.CreateEntry("alice29.txt", source1);
10
11 archive.Save(zipFile);
12 }
13 }
14 }??????????
- ?? zip ????????????????? ????????????
- ???????????????????????????????
- ???? 2 ?????? ????????? ????????????
- Archive ?????????????????
- Archive.CreateEntry????????????2???3???????????????????
- ArchiveSaveOptions ?????????????????
- Archive.Save ???????????? ??????????? 1 ????????? ????????????????? ArchiveSaveOptions ?????????????
1 // For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
2 using (FileStream zipFile = File.Open(dataDir + "CompressMultipleFiles_out.zip", FileMode.Create))
3 {
4 using (FileStream source1 = File.Open(dataDir + "alice29.txt", FileMode.Open, FileAccess.Read))
5 {
6 using (FileStream source2 = File.Open(dataDir + "asyoulik.txt", FileMode.Open, FileAccess.Read))
7 {
8 using (var archive = new Archive())
9 {
10 archive.CreateEntry("alice29.txt", source1);
11 archive.CreateEntry("asyoulik.txt", source2);
12 archive.Save(zipFile, new ArchiveSaveOptions() { Encoding = Encoding.ASCII, ArchiveComment = "There are two poems from Canterbury corpus" });
13 }
14 }
15 }
16 }
17 ??????????????????
- FileMode.Create ???????? zip ?????????????????? ???????????
- ?????????? ????? FileInfo ?????????????
- ???? 2 ?????? ????? FileInfo ?????????????
- Archive ?????????????????
- Archive.CreateEntry????????????2???3???????????????????
- ArchiveSaveOptions ?????????????????
- Archive.Save ???????????? ??????????? 1 ????????? ????????????????? ArchiveSaveOptions ?????????????
1 // For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
2 using (FileStream zipFile = File.Open(dataDir + "CompressFilesByFileInfo_out.zip", FileMode.Create))
3 {
4 FileInfo fi1 = new FileInfo(dataDir + "alice29.txt");
5 FileInfo fi2 = new FileInfo(dataDir + "fields.c");
6
7 using (var archive = new Archive())
8 {
9 archive.CreateEntry("alice29.txt", fi1);
10 archive.CreateEntry("fields.c", fi2);
11 archive.Save(zipFile, new ArchiveSaveOptions() { Encoding = Encoding.ASCII });
12 }
13 }
14 ??????????????????
??: ??C# ??????????????????????1. FileMode.Create ???????? zip ?????????????????? ??????????? 2. ????????????? ????? FileInfo ????????????? 3. ArchiveEntrySettings ?????????????????? StoreCompressionSettings ???????????????? 4. Archive ????????????????????????? ArchiveEntrySettings ???????????????? 5. Archive.CreateEntry ???????????? 2 ????? FileInfo ????????????? 6. ArchiveSaveOptions ????????????Encoding = Encoding.ASCII ??????? 7. Archive.Save ???????????? ??????????? 1 ????????? ????????????????? ArchiveSaveOptions ?????????????
1 // For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
2 //Creates zip archive without compressing files
3 using (FileStream zipFile = File.Open(dataDir + "StoreMultipleFilesWithoutCompression_out.zip", FileMode.Create))
4 {
5 FileInfo fi1 = new FileInfo(dataDir + "alice29.txt");
6 FileInfo fi2 = new FileInfo(dataDir + "lcet10.txt");
7
8 using (Archive archive = new Archive(new ArchiveEntrySettings(new StoreCompressionSettings())))
9 {
10 archive.CreateEntry("alice29.txt", fi1);
11 archive.CreateEntry("lcet10.txt", fi2);
12 archive.Save(zipFile, new ArchiveSaveOptions() { Encoding = Encoding.ASCII });
13 }
14
15 }
16 ????????????????
- FileMode.Create ???????? zip ?????????????????? ???????????
- ???? 1 ??? 2 ?????? ?????????FileMode.Open ? FileAccess.Read ????????? ???????????
- Archive ?????????????????
- Archive.CreateEntry????????????2???????????????????
- ParallelOptions ????????????ParallelCompressInMemory = ParallelCompressionMode.Always ???????
- ArchiveSaveOptions ??????????????????? ParallelOptions ?????????????????
- Archive.Save ???????????? ??????????? 1 ????????? ????????????????? ArchiveSaveOptions ?????????????
1 // For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
2 using (FileStream zipFile = File.Open(dataDir + "UsingParallelismToCompressFiles_out.zip", FileMode.Create))
3 {
4 using (FileStream source1 = File.Open(dataDir + "alice29.txt", FileMode.Open, FileAccess.Read))
5 {
6 using (FileStream source2 = File.Open(dataDir + "asyoulik.txt", FileMode.Open, FileAccess.Read))
7 {
8 using (var archive = new Archive())
9 {
10 archive.CreateEntry("alice29.txt", source1);
11 archive.CreateEntry("asyoulik.txt", source2);
12 //Define the parallelism criterion
13 var parallelOptions = new ParallelOptions
14 {
15 ParallelCompressInMemory = ParallelCompressionMode.Always
16 };
17 archive.Save(zipFile,
18 new ArchiveSaveOptions()
19 {
20 ParallelOptions = parallelOptions,
21 Encoding = Encoding.ASCII,
22 ArchiveComment = "There are two poems from Canterbury corpus"
23 });
24 }
25 }
26 }
27 }
28 ZIP ??????? LZMA ??
Lempel-Ziv-Markov ???????? (LZMA) ???????????????????????????????�LZMA ??????????????????????????????????????? ZIP ??????? LZMA ??????ZIP ????? LZMA ?????????????????????????????Aspose.ZIP API ????? LZMA ?????????????
??: ZIP ???????? LZMA ??C# ???
- FileMode.Create ???????? zip ?????????????????? ???????????
- ArchiveEntrySettings ??????????????? LzmaCompressionSettings ????????????????
- Archive ????????????????????? ArchiveEntrySettings ?????????????
- Archive.CreateEntry?????????????????????????????????????
- Archive.Save ???????????? ???????????
1 using (FileStream zipFile = File.Open(dataDir + "LZMACompression_out.zip", FileMode.Create))
2 {
3 using (Archive archive = new Archive(new ArchiveEntrySettings(new LzmaCompressionSettings())))
4 {
5 archive.CreateEntry("sample.txt", dataDir + "sample.txt");
6 archive.Save(zipFile);
7 }
8 }ZIP ??????? BZip2 ??
BZip2 ????????ZIP ????? BZip2 ??????????????????�????????Aspose.ZIP API ????? BZip2 ?????????????
??: ZIP ???????? BZip2 ??C# ???
- FileMode.Create ???????? zip ?????????????????? ???????????
- ArchiveEntrySettings ??????????????? Bzip2CompressionSettings ????????????????
- Archive ????????????????????? ArchiveEntrySettings ?????????????
- Archive.CreateEntry?????????????????????????????????????
- Archive.Save ???????????? ???????????
1 using (FileStream zipFile = File.Open(dataDir + "Bzip2Compression_out.zip", FileMode.Create))
2 {
3 using (Archive archive = new Archive(new ArchiveEntrySettings(new Bzip2CompressionSettings())))
4 {
5 archive.CreateEntry("sample.txt", dataDir + "sample.txt");
6 archive.Save(zipFile);
7 }
8 }
9 ZIP ??????? PPMd ??
PPMd ????????ZIP ????? PPMd ??????????????????�????????Aspose.ZIP API ????? PPMd ?????????????
??: ZIP ???????? PPMd ??C# ???
- FileMode.Create ???????? zip ?????????????????? ???????????
- ArchiveEntrySettings ??????????????? PPMdCompressionSettings ????????????????
- Archive ????????????????????? ArchiveEntrySettings ?????????????
- Archive.CreateEntry?????????????????????????????????????
- Archive.Save ???????????? ???????????
1 using (FileStream zipFile = File.Open(dataDir + "PPMdCompression_out.zip", FileMode.Create))
2 {
3 using (Archive archive = new Archive(new ArchiveEntrySettings(new PPMdCompressionSettings())))
4 {
5 archive.CreateEntry("sample.txt", dataDir + "sample.txt");
6 archive.Save(zipFile);
7 }
8 }
9 ????????
????????????????????
??: C# ?????????????????????????
- FileMode.OpenRead ???????? ZIP ????????? ???????????
- ???? ???????????????????Archive ?????????????????
- ????? ????? ExtractionProgressed ????????????????????????
- Extract ???????????????????????????????? 1 ?????????????
- ????????????????????????????
1 // For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
2 using (FileStream fs = File.OpenRead(dataDir + "CompressSingleFile_out.zip"))
3 {
4 using (Archive archive = new Archive(fs))
5 {
6 int percentReady = 0;
7 archive.Entries[0].ExtractionProgressed += (s, e) =>
8 {
9 int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize);
10 if (percent > percentReady)
11 {
12 Console.WriteLine(string.Format("{0}% decompressed", percent));
13 percentReady = percent;
14 }
15 };
16 archive.Entries[0].Extract(dataDir + "alice_extracted_out.txt");
17 }
18 }
19 ?????????????????????
??: C# ?????????????????????????< /strong>
- FileMode.Open ???????? ZIP ????????? ???????????
- ????????????????????????????? ??? ?????????? Archive ?????????????????
- EntryListed ??????????????????? ??????????????
- EntryExtractionProgressed ??????????????????????????????????????
- Extract ???????????????????????????????????????????????
1 // For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
2 using (FileStream zipFile = File.Open(dataDir + "CompressMultipleFiles_out.zip", FileMode.Open))
3 {
4 StringBuilder sb = new StringBuilder("Entries are: ");
5 int percentReady = 0;
6 using (Archive archive = new Archive(zipFile,
7 new ArchiveLoadOptions()
8 {
9 EntryListed = (s, e) => { sb.AppendFormat("{0}, ", e.Entry.Name); },
10 EntryExtractionProgressed = (s, e) =>
11 {
12 int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize);
13 if (percent > percentReady)
14 {
15 Console.WriteLine(string.Format("{0}% compressed", percent)); percentReady = percent;
16 }
17 }
18 }))
19 {
20 Console.WriteLine(sb.ToString(0, sb.Length - 2));
21 using (var extracted = File.Create(dataDir + "alice_extracted_out.txt"))
22 {
23 using (var decompressed = archive.Entries[0].Open())
24 {
25 byte[] buffer = new byte[8192];
26 int bytesRead;
27 while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
28 {
29 extracted.Write(buffer, 0, bytesRead);
30 }
31 // Read from decompressed stream to extracting file.
32 }
33 }
34 percentReady = 0;
35 archive.Entries[1].Extract(dataDir + "asyoulik_extracted_out.txt");
36 }
37 }
38 ?????????????????????
??: ?????????????????????????C# ???
- ZIP ????????Archive ?????????????????
- ??????????????????????????????????????????????????????????
- ????????????????????????????????????????????
- ??????? 2 ????????????????????????????????????????????
1 // For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
2 using (FileStream zipFile = File.Open(dataDir + "StoreMultipleFilesWithoutCompression_out.zip", FileMode.Open))
3 {
4 using (Archive archive = new Archive(zipFile))
5 {
6 using (var extracted = File.Create(dataDir + "alice_extracted_store_out.txt"))
7 {
8 using (var decompressed = archive.Entries[0].Open())
9 {
10 byte[] buffer = new byte[8192];
11 int bytesRead;
12 while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
13 {
14 extracted.Write(buffer, 0, bytesRead);
15 }
16 // Read from decompressed stream to extracting file.
17 }
18 }
19
20 using (var extracted = File.Create(dataDir + "asyoulik_extracted_store_out.txt"))
21 {
22 using (var decompressed = archive.Entries[1].Open())
23 {
24 byte[] buffer = new byte[8192];
25 int bytesRead;
26 while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
27 {
28 extracted.Write(buffer, 0, bytesRead);
29 }
30 // Read from decompressed stream to extracting file.
31 }
32 }
33 }
34 }
35