2016-04-08 20 views
0

ファイルを圧縮する必要があるため、ユーザーが選択した名前に ".zip"/"。rar"/"。tar.gzという名前を変更するという問題が発生しました。 "/"。タール"。単にファイルの拡張子のように、圧縮自体についてC# - 圧縮された名前の変更操作、またはGZipStreamなしの圧縮

は、[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 Frameworkで変更したいのかどうかを知りたいと思います。

ありがとうございます。

答えて

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); 
     } 
    } 
} 
関連する問題