????? ? ???? ??????
?????????? ??????? ?????????
??????? ?????? ????? ?????? ????? ???????, ???????? ???? ?????? ?????? ???????. ??? zip-?????? ?????????? ??????? CompressionProgressed, ????? ?????????? ? ?????. ??? ??????? ??????? ?? ProgressEventArgs, ??????? ???????? ?????????? ???????????? ?? ?????? ?????? ??????. ??? ??? ?? ????? ??????????? ?? ??? ???????, ????????? ??????-?????????:
1 ??????.CompressionProgressed += (s, e) => {
2 Console.WriteLine(string.Format("{0} ???? ?????", e.ProceededBytes));
3 };????? ? ???????? ?????????? ????????? ???????
?????? ???, ????? ????????? ??????? CompressionProgressed, ?? ????? ????? ProceededBytes ?? ????? ????????? ?????. ?????? ????? ??????????? ?????? ???? ?? ??????? ?? ?????? ??????. ??? ?????? ???????.
????: ????? ? ???????? ?????????? Zip ? C#
- ???????? ???? Hug.bin ? ?????? ?????? ? ??????? File.Open, ????? ??????????? ??? ? ??????.
- ??????????????? ????? ????????? ?????? Archive, ?????? PPMdCompressionSettings ??? ??????.
- ???????? ?????? ? ?????? ??? ????? Hug.bin ? ??????? ?????? CreateEntry, ?????? ?? ? ??????? ????????? ?????.
- ?????????? ?????????? ??????? ? ??????? CompressionProgressed, ????? ??????????? ??? ??????. ?? ????????? ??????? ??????? ????? ?? ?????? ??????.
- ? ??????????? ??????? ???????? ??????? ?????? ? ??????????? ??? ? ??????? ??? ?????? ?????????? ?????????.
- ????? ?????????? ?????? ????????? ????? ? ????????? zip-????.
1 ????????? (???????? FileStream = File.Open("huge.bin", FileMode.Open, FileAccess.Read))
2 {
3 ????????? (var archive = ????? ????? (????? ArchiveEntrySettings (????? PPMdCompressionSettings())))
4 {
5 ?????? ArchiveEntry = archive.CreateEntry("huge.bin", source);
6 ??? ?????????Ready = 0;
7 ??????.CompressionProgressed += (s, e) =>
8 {
9 int ??????? = (int)((100 * (long)e.ProceededBytes) / source.Length);
10 ???? (??????? > ???????Ready)
11 {
12 Console.WriteLine(string.Format("?????? {0}%", ???????));
13 ???????Ready = ???????;
14 }
15 };
16 ?????.?????????(zipFile);
17 }
18 }????? ? ???????? ?????????? 7z
??????????? ?????? ? ??? ?????? 7z. ??? ?????? ????? ??????????? ??????? CompressionProgressed.
????: ?????????? ???? ?????? ? ??????? LZMA2 ? ?????? 7z ?? C#</ ?>
- ???????? ???????? ???? (huge.bin) ? ?????? ??????.
- ???????? ?????? SevenZipArchive, ????????? ????????? ?????? LZMA2.
- ???????? ???????? ???? ? ????? ??? ?????? ? ??????? ?????? CreateEntry.
- ??????????? ?? ??????? CompressionProgressed, ????? ??????????? ? ???????????? ??? ??????.
- ??? ??????? ?????????? ???? ????????????? ??????? ?????????? ??????.
- ????????? ????? ? ????????? ????? (zipFile).
1????????? (???????? FileStream = File.Open("huge.bin", FileMode.Open, FileAccess.Read))
2 {
3 ????????? (var archive = ????? SevenZipArchive (????? SevenZipEntrySettings (????? SevenZipLZMA2CompressionSettings())))
4 {
5 ?????? SevenZipArchiveEntry = archive.CreateEntry("huge.bin", source);
6 ??? ?????????Ready = 0;
7 ??????.CompressionProgressed += ??????? (?????? s, ProgressEventArgs e)
8 {
9 // s � SevenZipArchiveEntry
10 int ??????? = (int)((100 * (long)e.ProceededBytes) / source.Length);
11 ???? (??????? > ???????Ready)
12 {
13 ???????Ready = ???????;
14 }
15 };
16 ?????.?????????(zipFile);
17 }
18 }