Как создать архив из потока на C#?
Как программно заархивировать файл (C#)
1
Спросил
Лучший ответ:
1
Вот так можно:
FileStream sourceFile = File.OpenRead(@"C:\zip.xml");
FileStream destFile = File.Create(@"C:\zip.zip");
GZipStream compStream = new GZipStream(destFile, CompressionMode.Compress);
try
{
int value = sourceFile.ReadByte();
while (value!= -1)
{
compStream.WriteByte((byte)value);
value = sourceFile.ReadByte();
}
}
finally
{
compStream.Dispose();
}
Новые ответы
0
Можно еще воспользоваться библиотекой SharpZipLib, она бесплатна и с открытыми исходниками.
GZipStream
— этот класс включен в .NET Framework?System.IO.Compression.GZipStream, но "Использование класса GZipStream для сжатия файла, размер которого превышает 4 ГБ, вызывает исключение".
Извините! А почему в архиве расширение файла потерялось?... Был my.txt, стало my