【问题标题】:C# - Files compressed rename operation or compress without GZipStreamC# - 文件压缩重命名操作或无 GZipStream 压缩
【发布时间】:2016-04-08 17:37:58
【问题描述】:

我遇到了一个问题,我应该压缩一个文件,然后将其重命名为用户选择的名称 + ".zip"/".rar"/".tar.gz"/".tar"。

关于压缩本身一切OK,但是当我尝试用File.Move()FileInfo.Move() 之类的东西重命名文件时,压缩文件的名称也会改变,就像文件扩展名一样。示例:

string pathFile = "C:\\Users\\Admin\\Desktop\\myFile.exe";
string finalPath = "C:\\Users\\Admin\\Desktop\\userFile.zip";
string compressedPath = "C:\\Users\\Admin\\Desktop\\myFile.exe.zip";

...

File.Move(compressedPath, finalPath);

这里的问题是 userFile.zip 在解压缩时会生成一个没有扩展名的 userFile 文件。以前我读到 GZIP 压缩文件没有信息除了写入的 byte[] 数组,这就是可能的原因。

但我想知道是否有人知道重命名 GZIP 文件的方法或使用 .NET 框架压缩文件和重命名的另一种方法。

谢谢。

【问题讨论】:

    标签: c# file zip compression gzipstream


    【解决方案1】:

    https://msdn.microsoft.com/en-us/library/ms404280(v=vs.110).aspx

    using System;
    using System.IO;
    using System.IO.Compression;
    
    namespace ConsoleApplication
    {
        class Program
        {
            static void Main(string[] args)
            {
                string startPath = @"c:\example\start";
                string zipPath = @"c:\example\result.zip";
                string extractPath = @"c:\example\extract";
    
                ZipFile.CreateFromDirectory(startPath, zipPath);
    
                ZipFile.ExtractToDirectory(zipPath, extractPath);
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多