2012-02-27 11 views
0

"D:\ Nagaraj \ Dotnet \ Zipfile \ Zipfile \ Filebuild \ Hi.zip"というパスにzipファイルが作成されています。しかし、このHi.zipファイル内に、 "D:\ Nagaraj \ Dotnet \ Zipfile \ Zipfile \ Filebuild \ Hi"を作成した後に、2つのtxtファイルが表示されたので.... zipファイルのフォルダパスを削除する必要があります...私は次のコードとsharpziplibライブラリを使用しています...事前に感謝します。次のコードを使用してzipファイル内のフォルダパスを削除するにはどうすればいいですか?zipファイル内のtxtファイルのみが必要です

*enter code here* 
StartZip("D:/Nagaraj/Dotnet/Zipfile/Zipfile/Filebuild/Hi/", Server.MapPath("Filebuild/Hi.zip")); 

public void StartZip(string directory, string zipFileName) 
{ 
    ZipFile z = ZipFile.Create(zipFileName); 
    z.BeginUpdate(); 
    string[] filenames = Directory.GetFiles(directory); 

    foreach (string filename in filenames) 
     { 
     z.Add(filename); 
     string s = Path.GetFileName(filename); 
     } 
     z.CommitUpdate(); 
     z.Close(); 
} 

答えて

0

は、フォルダのパスを削除することができます

FileInfo hfinfo = null; 
hfinfo = new FileInfo(HFileName.ToString()); 
if (!hfinfo.Exists) { 
    hfinfo.Create(); 
} 
HGetTData.ToString().TrimEnd(); 

sw.Write(HGetTData.ToString()); 
HGetTData.Length = 0; 

sw.Flush(); 

sw.Close(); 
sw.Dispose(); 

z.NameTransform = new ZipNameTransform(hosttmppath); 
z.BeginUpdate(); 
z.Add(HFileName.ToString(), fname[i] + ".txt"); 
z.CommitUpdate(); 

FileInfo theFile = new FileInfo(HFileName.ToString()); 
if (theFile.Exists) { 
    File.Delete(HFileName.ToString()); 
} 
関連する問題