C# - 文件压缩重命名操作或压缩没有GZipStream

时间:2016-04-08 17:37:59

标签: c# file zip compression gzipstream

我有一个问题,我应该压缩文件,然后将其重命名为用户选择的内容+" .zip" /" .rar" /&#34 ;名为.tar.gz" /"的.tar"

关于压缩本身就是一切都好但是当我尝试用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框架重命名

谢谢。

1 个答案:

答案 0 :(得分:0)

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);
        }
    }
}