⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 program.cs

📁 csharp写的一个文件压缩程序
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.IO.Compression;

namespace Compressor
{
    class Program
    {
        static void SaveCompressedFile(string filename, string data)
        {
            FileStream fileStream = new FileStream(filename, FileMode.Create, FileAccess.Write);
            GZipStream compressionStream = new GZipStream(fileStream, CompressionMode.Compress);
            StreamWriter writer = new StreamWriter(compressionStream);
            writer.Write(data);
            writer.Close();
        }
        static string LoadCompressedFile(string filename)
        {
            FileStream fileStream = new FileStream(filename, FileMode.Open, FileAccess.Read);
            GZipStream compressionStream = new GZipStream(fileStream, CompressionMode.Decompress);
            StreamReader reader = new StreamReader(compressionStream);
            string data = reader.ReadToEnd();
            reader.Close();
            return data;
        }
        static void Main(string[] args)
        {
            try
            {
                string filename = "compressedFile.txt";
                Console.WriteLine("enter a string to compress (will be repeated 1000 times):");
                string sourceString = Console.ReadLine();
                StringBuilder sourceStringMultiplier = new StringBuilder(sourceString.Length * 1000);
                for (int i = 0; i < 100; i++)
                {
                    sourceStringMultiplier.Append(sourceString);
                }
                sourceString = sourceStringMultiplier.ToString();
                Console.WriteLine("Source data is {0}bytes long.", sourceString.Length);
                SaveCompressedFile(filename, sourceString);
                Console.WriteLine("\nData saved to {0}.", filename);

                FileInfo compressedFileData = new FileInfo(filename);
                Console.WriteLine("compressed file is {0}bytes long", compressedFileData.Length);

                string recoveredString = LoadCompressedFile(filename);
                recoveredString = recoveredString.Substring(0, recoveredString.Length / 100);
                Console.WriteLine("\nrecovered data:{0}", recoveredString);
                Console.ReadKey();
            }
            catch (IOException ex)
            {

                Console.WriteLine("an io exception has been thrown");
                Console.WriteLine(ex.ToString());
                Console.ReadKey();
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -