2017-07-21 4 views
0

Ich erstelle eine Zip-Datei mit zioutpoutream aber wenn ich Zip-Datei öffnen zeigt es den Stammpfad zuerst wie D: LocalDisk und nicht den Ordner, der gezippt wurde. Dies ist mein Code zipZipoutputstream Hinzufügen von Root-Laufwerk Pfad zu vor dem Ordner

public void StartZip(string directory, string zipfile_path) 
{ 
    // the directory you need to zip 
    DirectoryInfo Dictiontory = new DirectoryInfo(directory); 
    //to get sub directories 
    DirectoryInfo[] Dir = Dictiontory.GetDirectories(); 
    string[] filenames; 
    // path which the zip file built in 
    ZipOutputStream s = new ZipOutputStream(File.Create(zipfile_path)); 
    foreach (DirectoryInfo folder in Dir) 
    { 
     filenames = Directory.GetFiles(directory+"/"+folder); 
     foreach (string filename in filenames) 
     { 
      FileStream fs = File.OpenRead(filename); 
      byte[] buffer = new byte[fs.Length]; 
      fs.Read(buffer, 0, buffer.Length); 
      ZipEntry entry = new ZipEntry(filename); 
      s.PutNextEntry(entry); 
      s.Write(buffer, 0, buffer.Length); 
      fs.Close(); 
     } 
    } 
    s.SetLevel(5); 
    s.Finish(); 
    s.Close(); 
} 

Antwort

0

verwenden, wenn jemand für die Erstellung der gleichen Ausgabe gegenüber:

ZipFile.CreateFromDirectory(directory, zipfile_path); 
Verwandte Themen