ZIP ????? ?? ??
??
Aspose.ZIP API? ZIP ????? ???? ??? ?????.�??? ????? ??? ????? ??? ? ???? ???? ??? ?? ?? ????? ?? ?????.
ZIP ?????: ??
ParallelOptions? ???? ?? CPU ??? ???? ????? ???? ?? ?????.
ParallelCompressInMemory ??? ?????? ?? ???? ??? ?????. ??? ? ?? ?????.
ParallelCompressionMode.Never: ?? ??? ????? ?????. ??? CPU ??? ??? ???? ??? ???? ??? ??????.ParallelCompressionMode.Always: ?? ??, ?? ??? ??? ? ?? ??? ???? ?? ?? ???? ??? ??? ?????. ? CPU ??? ??? ???? RAM? ????? ??? ??? ?????. ??? ???? ?? ????? ??????. RAM ?? ?? ?? N ??(??? N? CPU ?? ?)? ?? ??? ? ?? CLR? ?? ??? ?? RAM? ???? OutOfMemoryExcepton? ??? ? ????.ParallelCompressionMode.Auto: ??? ??. CPU ??, ?? ??, ?? ??? ???? ???? ??? ?? ?? ????? ???? ??? ?????. ? ????? ?? ?? ??? ??? ???? ?? ??? ????? ?????. LZMA ??? ??? ??? ?? ??? ??? ???? ????. ????? ? ??? ???? ?? ?????. Aspose.ZIP? ??? ???? ???? ?? ???? ?????. ? ???? ParallelOptions? ??? AvailableMemorySize? ?? ? ????. ?? ????? ??? ????. ????? ??? ?? CPU ??? ??? ???? ?? ??? ???? ??(MB)???. Aspose.ZIP? ?? ??? ???? ??? ???? ??? ??? ?? ??? ?????. ???? ???? ??? ????? ?????. AvailableMemorySize? ??? ????. ??? ?? ?? ?? ?? ???? RAM ??, ??? ??? ???? ??? ??? ?? ??? ??? ?? ????. ?? ?? ???? ???? ??? ?? ?? ?? ????? ?????. ??? ??? ???? ??????? ???? ??? ? ????.
??? ??? ?? ??? ??? ???? ???? ?? ???? ???? ?? ??? ?? ?? ??? ??? ??? ????.
C# ???? ?? ??? ???? ZIP ????? ??? ??
??: C#?? ?? ??? ???? ZIP ???? ??
FileMode.Create?? ?? ???(FileStream)? ?? ? ZIP ??(archive.zip)? ????.- ZIP ?? ??? ?? ??? ‘Archive’ ??? ??????.
CreateEntry???? ???? “first.bin” ? “last.bin”? ?? ?? ??? ????File.OpenRead? ???? ?? ??(data1.bin?dataN.bin).ParallelOptions?ArchiveSaveOptions? ?????. ???ParallelCompressInMemory?ParallelCompressionMode.Always? ???? ? ?? ??? ?? ?? ??? ??????.Save??? ???? ??? ???? ????? ?????.
1 using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
2 {
3 using (Archive archive = new Archive())
4 {
5 archive.CreateEntry("first.bin", File.OpenRead("data1.bin"));
6 ...
7 archive.CreateEntry("last.bin", File.OpenRead("dataN.bin"));
8 archive.Save(zipFile, new ArchiveSaveOptions()
9 {
10 ParallelOptions = new ParallelOptions()
11 { ParallelCompressInMemory = ParallelCompressionMode.Always }
12 });
13 }
14 }