Разархивация GZipStream - C#
Формулировка задачи:
Нужно разархивировать предварительно заархивированный файл
Но вот дилемма, откуда мне узнать размер первоначального файла? А если я решу узнать размер потока, то выдаст исключение decompressionStream.Length - это свойство не поддерживается
Есть идеи что можно сделать?
Листинг программы
- byte[] decompressedBytes;
- using (FileStream fileToDecompress = File.Open("1.txt", FileMode.Open))
- {
- using (GZipStream decompressionStream = new GZipStream(fileToDecompress, CompressionMode.Decompress))
- {
- decompressionStream.Read(decompressedBytes, 0, decompressionStream.Length);
- }
- }
- using (FileStream fstream = new FileStream("2.txt", FileMode.Create))
- {
- fstream.Write(decompressedBytes, 0, decompressedBytes.Length);
- }
Решение задачи: «Разархивация GZipStream»
textual
Листинг программы
- public static void Decompress(string currentFileName, string newFileName)
- {
- using (FileStream originalFileStream = new FileStream(currentFileName, FileMode.Open))
- {
- using (FileStream decompressedFileStream = File.Create(newFileName))
- {
- using (GZipStream decompressionStream = new GZipStream(originalFileStream, CompressionMode.Decompress))
- {
- decompressionStream.CopyTo(decompressedFileStream);
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д