La version imprimable n’est plus prise en charge et peut comporter des erreurs de génération. Veuillez mettre à jour les signets de votre navigateur et utiliser à la place la fonction d’impression par défaut de celui-ci.
|
Pas de gestion des mots de passe |
|
using System.IO.Compression; // System.IO.Compression.FileSystem
// archiver un dossier
ZipFile.CreateFromDirectory(@"c:\FolderToZip", @"c:\Archive.zip");
// désarchiver
ZipFile.ExtractToDirectory(@"c:\Archive.zip", @"c:\Destination");
|
SharpZipLib
|
À partir du framework 4.5 il est possible d'utiliser ZipFile |
Memory
|
ZipFile zipFile = ZipFile.Create("path to zip");
zipFile.BeginUpdate();
zipFile.Add("path to file1", Path.GetFileName("path to file1"));
zipFile.Add("path to file2", Path.GetFileName("path to file2"));
zipFile.CommitUpdate();
zipFile.Close();
|
Stream
|
using (var zipOutputStream = new ZipOutputStream(File.Create(compressedFilePath)))
{
zipOutputStream.SetLevel(9); // 0-9, 9 being the highest compression
zipOutputStream.Password = password;
byte[] buffer = new byte[4096];
var entry = new ZipEntry(Path.GetFileName(filePathToInclude));
entry.DateTime = DateTime.Now;
zipOutputStream.PutNextEntry(entry);
using (FileStream fs = File.OpenRead(filePathToInclude))
{
int sourceBytes;
do
{
sourceBytes = fs.Read(buffer, 0, buffer.Length);
zipOutputStream.Write(buffer, 0, sourceBytes);
} while (sourceBytes > 0);
}
zipOutputStream.Finish();
zipOutputStream.Close();
}
|
|
var filePath = "/chemin/archive.gz";
using (FileStream fileStream = File.OpenRead ("/chemin/archive.gz")) {
var decompressedFilePath = Path.Combine ("/tmp", Path.GetFileNameWithoutExtension (filePath));
using (FileStream decompressedFileStream = File.Create (decompressedFilePath)) {
using (GZipStream decompressionStream = new GZipStream (fileStream, CompressionMode.Decompress)) {
decompressionStream.CopyTo (decompressedFileStream);
}
}
}
|