2009-08-25 17 views
1

zipファイルを開くときに問題があります。私は「成功」メッセージを受信するが、私は、zipファイルを開くことができないことはできています。この関数を呼び出すとzipファイルを開くときに問題が発生する

public static string Zip_File(string soruce , string target) 
     { 
      try 
      { 
       byte[] bufferWrite;    
       using (FileStream fsSource = new FileStream(soruce, FileMode.Open, FileAccess.Read, FileShare.Read)) 
       { 
        bufferWrite = new byte[fsSource.Length]; 
        fsSource.Read(bufferWrite, 0, bufferWrite.Length); 
        using (FileStream fsDest = new FileStream(target, FileMode.OpenOrCreate, FileAccess.Write)) 
        { 
         using (GZipStream gzCompressed = new GZipStream(fsDest, CompressionMode.Compress, true)) 
         { 
          gzCompressed.Write(bufferWrite, 0, bufferWrite.Length); 
          bufferWrite = null; 
          fsSource.Close(); 
          gzCompressed.Close(); 
          fsDest.Close(); 
         } 
        } 
       } 
       return "success"; 
      } 
      catch (Exception ex) 
      { 
       return ex.Message; 
      } 
     } 

:私は、ファイルを圧縮するために、このコードを使用しています。

ZipFiles.Zip_File(@"C:\Documents and Settings\ccspl\Desktop\IntegrityDVR.mdb", @"C:\Documents and Settings\ccspl\Desktop\a.zip") 

これは私の関数呼び出しのコードです:

圧縮(フォルダ)が無効であるか、または破損している...>これは私が

答えて

8

GZipStream.zipファイルを作成しません受信したエラーメッセージです。ファイル.gzを作成します。 .zipファイルを作成する必要がある場合は、SharpZipLibのようなものを使用する必要があります。

+0

なしMehrdad ...私のPROBはまだそれが同じエラーMSGに –

+1

RVを与えている...解決していない:もちろん**それは.ZIPファイルを作成しません**。 '.gz'ファイルを開くには7-Zipのようなプログラムが必要です。 –

+0

Cheeso:トラブルシューティングを開始する方法として「Flush」を提案しました。それはOPがGzipをまったく望んでいないと私が理解する前であった。彼はジップが欲しい。 –

1

しかし、ちょっと待って、GZipStream zipファイルを作成しません、私が知っているように、それはZipping files using GZipStream

+0

あなたが引用した記事は、http://www.geekpedia.com/tutorial190_Zipping-files-using-GZipStream.htmlで偽りです。 GZipSreamを使ってファイルを圧縮したり、.Zipアーカイブを作成することができると繰り返し言います。違います。 – Cheeso

1

はなぜSharpZipLibを使用しないで役立つはず、GZIPファイルを作成しますか?これはこれをもっと簡単にします。

1

DotNetZipのサンプルコードは、オープンソースのzipライブラリです。

public static string ZipFile(String source, String target) 
{ 
    try 
    { 
     using (ZipFile zip = new ZipFile() 
     { 
      zip.AddFile(source); 
      zip.Save(target); 
     } 
     return "success"; 
    } 
    catch {} 
    return "failure"; 
} 
+0

良いと非常に便利なライブラリリファレンスのための+1、および訂正のおかげで –

関連する問題