Напишите прогресс асинхронного сжатия - PullRequest
0 голосов
/ 18 марта 2019

У меня есть этот код:

using (FileStream sourceStream = new FileStream(sourceFile, FileMode.OpenOrCreate))
{
    using (FileStream targetStream = File.Create(compressedFile))
    {
        using (GZipStream compressionStream = new GZipStream(targetStream, CompressionMode.Compress))
        {
            sourceStream.CopyTo(compressionStream);
            Console.WriteLine(
                "Compress of file{0} is end. Inintial size: {1}  compressed size: {2}.",
                sourceFile,
                sourceStream.Length.ToString(),
                targetStream.Length.ToString());
        }
    }
}

Теперь мне нужно асинхронно писать ход сжатия файлов.Как я могу это сделать?

1 Ответ

0 голосов
/ 19 марта 2019

Сначала найдите размер исходного файла. Затем прогресс - это количество входных байтов из исходного файла, использованных на данный момент, деленное на размер исходного файла.

...