GZipStream - C#

Узнай цену своей работы

Формулировка задачи:

Суть вопроса вот в чем, есть данный код, который сжимает по одиночке все файлы, которые находятся в папке, создавая для каждого файла свой архив, как сделать так, чтобы сжимало всю папку целиком, в 1 фаил.
Листинг программы
  1. namespace Console
  2. {
  3. class Program
  4. {
  5. static void Main(string[] args)
  6. {
  7. string directoryPath = @"d:\csharpfiles";
  8. DirectoryInfo directorySel = new DirectoryInfo(directoryPath);
  9. foreach (FileInfo FileToCompress in directorySel.GetFiles())
  10. {
  11. Compress(FileToCompress);
  12. }
  13. }
  14. public static void Compress(FileInfo FileToCompress)
  15. {
  16. using (FileStream origFileStream = FileToCompress.OpenRead())
  17. {
  18. if ((File.GetAttributes(FileToCompress.FullName) & FileAttributes.Hidden) != FileAttributes.Hidden & FileToCompress.Extension != ".rar")
  19. {
  20. using (FileStream compressedFileStream = File.Create(FileToCompress.FullName + ".rar"))
  21. {
  22. using (GZipStream compressionStream = new GZipStream(compressedFileStream, CompressionMode.Compress))
  23. {
  24. origFileStream.CopyTo(compressionStream);
  25. System.Console.WriteLine("Compressed {0} from {1} to {2} bytes.",FileToCompress.Name,FileToCompress.Name.ToString(),compressedFileStream.Length.ToString());
  26. System.Console.ReadLine();
  27. }
  28. }
  29. }
  30. }
  31. }
  32. }
  33. }

Решение задачи: «GZipStream»

textual
Листинг программы
  1. class ArchiveEntry
  2. {
  3.     public string Path;
  4.     public int CompressedLength;
  5. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут