bonjour, je sais pas si je suis dans la bonne catégorie...
je veux sauvegarder une bd sql
puis la copier sur un support amovible apres l'avoir compressé
ma "methode" marchait bien jusqu'a maintenant (bd pas trop grosse a priori)
mais la elle pese peut etre un peu lourd (2GO) et j'ai un systemoutofmemory exception
voici ce que je fais ...
FileStream monFileStream = new FileStream(rep + fich_sauv, FileMode.Open);
byte[] monBuffer = new byte[monFileStream.Length];
// Lecture de l'intégralité du FileStream
monFileStream.Read(monBuffer, 0, System.Convert.ToInt32(monFileStream.Length));
// Fermeture du FileStream
monFileStream.Close();
// Création du fichier qui va contenir le fichier compressé
monFileStream = new FileStream(rep + fich_sauv + ".gz", FileMode.Create);
// Compression des données
GZipStream monGZipStream = new GZipStream(monFileStream, CompressionMode.Compress, false);
// Ecriture des données compressées dans le fichier de destination
monGZipStream.Write(monBuffer, 0, monBuffer.Length);
// Fermeture du GZipStream
monGZipStream.Close();
Salut, c'est normal que ça plante, tu charges l'intégralité de ton fichier en mémoire ( combien as tu de RAM libre ?? ), imagine si tu devais copier une vidéo HD de 25GO ...