Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 30th, 2012  |  syntax: C#  |  size: 2.59 KB  |  hits: 16  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1.         // supprimer un fichier
  2.         public void Delete(string args)
  3.         {
  4.             string fileToDelete = args;
  5.             System.IO.File.Delete(fileToDelete);
  6.  
  7.         }
  8.        
  9.         // extraire un zip
  10.         public void _ExtractFilesFromZip(string zipFilename, string destFolder, string password, bool overwrite)
  11.         {
  12.             if (!destFolder.EndsWith("\\")) destFolder = destFolder + '\\';
  13.  
  14.             ZipInputStream zipStream = new ZipInputStream(
  15.                 new FileStream(zipFilename, FileMode.Open));
  16.             try
  17.             {
  18.                 zipStream.Password = password;
  19.  
  20.                 ZipEntry zipEntry;
  21.                 byte[] buff = new byte[65536];
  22.                 while ((zipEntry = zipStream.GetNextEntry()) != null)
  23.                 {
  24.                     if (zipEntry.IsDirectory)
  25.                     {
  26.                         if (!Directory.Exists(destFolder + zipEntry.Name.TrimStart('/')))
  27.                             Directory.CreateDirectory(destFolder + zipEntry.Name.TrimStart('/'));
  28.                         while (zipStream.Read(buff, 0, buff.Length) > 0) { }
  29.                     }
  30.                     else
  31.                     {
  32.                         if (!File.Exists(destFolder + zipEntry.Name.TrimStart('/')) || overwrite)
  33.                         {
  34.                             string dirName = System.IO.Path.GetDirectoryName(destFolder + zipEntry.Name);
  35.                             if (!Directory.Exists(dirName))
  36.                             {
  37.                                 Directory.CreateDirectory(dirName);
  38.                             }
  39.                             SaveFile(zipStream, destFolder + zipEntry.Name, zipEntry.Size);
  40.                         }
  41.                     }
  42.                 }
  43.  
  44.             }
  45.             finally
  46.             {
  47.                 zipStream.Close();
  48.                 Delete(zipFilename);
  49.             }
  50.  
  51.         }
  52.         public void SaveFile(Stream stream, string fullName, long uncompressedSize)
  53.         {
  54.             if (!stream.CanRead || stream.Length <= 0) return;
  55.             FileStream fs = null;
  56.             try
  57.             {
  58.                 byte[] buff = new byte[65536];
  59.                 fs = new FileStream(fullName, FileMode.Create);
  60.                 int res;
  61.                 if (uncompressedSize > 0)
  62.                 {
  63.                     while ((res = stream.Read(buff, 0, buff.Length)) > 0)
  64.                         fs.Write(buff, 0, res);
  65.                 }
  66.             }
  67.             finally
  68.             {
  69.                 if (fs != null) fs.Close();
  70.             }
  71.         }