GZipStream - C#
Формулировка задачи:
Суть вопроса вот в чем, есть данный код, который сжимает по одиночке все файлы, которые находятся в папке, создавая для каждого файла свой архив, как сделать так, чтобы сжимало всю папку целиком, в 1 фаил.
namespace Console { class Program { static void Main(string[] args) { string directoryPath = @"d:\csharpfiles"; DirectoryInfo directorySel = new DirectoryInfo(directoryPath); foreach (FileInfo FileToCompress in directorySel.GetFiles()) { Compress(FileToCompress); } } public static void Compress(FileInfo FileToCompress) { using (FileStream origFileStream = FileToCompress.OpenRead()) { if ((File.GetAttributes(FileToCompress.FullName) & FileAttributes.Hidden) != FileAttributes.Hidden & FileToCompress.Extension != ".rar") { using (FileStream compressedFileStream = File.Create(FileToCompress.FullName + ".rar")) { using (GZipStream compressionStream = new GZipStream(compressedFileStream, CompressionMode.Compress)) { origFileStream.CopyTo(compressionStream); System.Console.WriteLine("Compressed {0} from {1} to {2} bytes.",FileToCompress.Name,FileToCompress.Name.ToString(),compressedFileStream.Length.ToString()); System.Console.ReadLine(); } } } } } } }
Решение задачи: «GZipStream»
textual
Листинг программы
class ArchiveEntry { public string Path; public int CompressedLength; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д