Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // supprimer un fichier
- public void Delete(string args)
- {
- string fileToDelete = args;
- System.IO.File.Delete(fileToDelete);
- }
- // extraire un zip
- public void _ExtractFilesFromZip(string zipFilename, string destFolder, string password, bool overwrite)
- {
- if (!destFolder.EndsWith("\\")) destFolder = destFolder + '\\';
- ZipInputStream zipStream = new ZipInputStream(
- new FileStream(zipFilename, FileMode.Open));
- try
- {
- zipStream.Password = password;
- ZipEntry zipEntry;
- byte[] buff = new byte[65536];
- while ((zipEntry = zipStream.GetNextEntry()) != null)
- {
- if (zipEntry.IsDirectory)
- {
- if (!Directory.Exists(destFolder + zipEntry.Name.TrimStart('/')))
- Directory.CreateDirectory(destFolder + zipEntry.Name.TrimStart('/'));
- while (zipStream.Read(buff, 0, buff.Length) > 0) { }
- }
- else
- {
- if (!File.Exists(destFolder + zipEntry.Name.TrimStart('/')) || overwrite)
- {
- string dirName = System.IO.Path.GetDirectoryName(destFolder + zipEntry.Name);
- if (!Directory.Exists(dirName))
- {
- Directory.CreateDirectory(dirName);
- }
- SaveFile(zipStream, destFolder + zipEntry.Name, zipEntry.Size);
- }
- }
- }
- }
- finally
- {
- zipStream.Close();
- Delete(zipFilename);
- }
- }
- public void SaveFile(Stream stream, string fullName, long uncompressedSize)
- {
- if (!stream.CanRead || stream.Length <= 0) return;
- FileStream fs = null;
- try
- {
- byte[] buff = new byte[65536];
- fs = new FileStream(fullName, FileMode.Create);
- int res;
- if (uncompressedSize > 0)
- {
- while ((res = stream.Read(buff, 0, buff.Length)) > 0)
- fs.Write(buff, 0, res);
- }
- }
- finally
- {
- if (fs != null) fs.Close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment