Untitled

 avatar
unknown
csharp
2 years ago
1.1 kB
0
Indexable
using System;
using System.IO;
using System.IO.Compression;
using System.Threading.Tasks;

class Program {
    static void Main(string[] args) {
        string[] filesToCompress = new string[] { "file1.txt", "file2.txt", "file3.txt" };

        // use multiple threads to compress the files
        Parallel.ForEach(filesToCompress, file => {
            CompressFile(file);
        });

        Console.WriteLine("File compression completed successfully.");
        Console.ReadLine();
    }

    static void CompressFile(string file) {
        string compressedFileName = file + ".gz";
        using (FileStream originalFileStream = File.OpenRead(file)) {
            using (FileStream compressedFileStream = File.Create(compressedFileName)) {
                using (GZipStream compressionStream = new GZipStream(compressedFileStream, CompressionMode.Compress)) {
                    originalFileStream.CopyTo(compressionStream);
                }
            }
        }
        Console.WriteLine("File compressed successfully: " + compressedFileName);
    }
}