2016-04-08 152 views
0

我有一个问题的情况,我应该压缩一个文件,所以重命名为用户选择+“.zip”/“。rar”/“。tar.gz “/“。柏油”。C# - 文件压缩重命名操作或压缩没有GZipStream

关于compress本身就是一切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框架的方法。

谢谢。

回答

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