Convertir Fichier Zip de byte[] et byte[] dans le fichier zip

- Je convertir fichier zip de byte[] et écrire dans un fichier texte.

 int BufferSize=65536;
     private void button1_Click(object sender, EventArgs e)
        {
            DialogResult re = openFileDialog1.ShowDialog();
            if (re == DialogResult.OK)
            {
                string fileName = openFileDialog1.FileName;
                try
                {
                    byte[] bytes = File.ReadAllBytes(fileName);
                    File.WriteAllBytes(@"F:\Info.txt", bytes);
                }
                catch (Exception) { }
            }
        }   

Ensuite, j'essaie de convertir ces octets dans le fichier zip. Mais je ne peux pas le faire.

Mon code est ici:

private void button2_Click(object sender, EventArgs e)
        {

            DialogResult re = openFileDialog1.ShowDialog();
            if (re == DialogResult.OK)
            {
                string fileName = openFileDialog1.FileName;
                try
                {
                    byte[] bytes = File.ReadAllBytes(fileName);
                    using (var mstrim = new MemoryStream(bytes))
                    {
                        using (var inStream = new GZipStream(mstrim, CompressionMode.Compress))
                        {
                            using (var outStream = File.Create("Tax.Zip"))
                            {
                                var buffer = new byte[BufferSize];
                                int readBytes;
                                while ((readBytes = inStream.Read(buffer, 0, BufferSize)) != 0)
                                {
                                    outStream.Write(buffer, 0, readBytes);
                                }
                            }
                        }
                    }
                }
                catch (Exception) { }
            }
        }

Erreur:Mode de Fichier non valide.

  • Ce style de mise en retrait est vraiment pas utile. Appuyez Sur Ctrl-K,D.
  • En fait, vous devez décompresser le fichier zip. lire les octets d'un fichier zip ne vous donnera pas les données déjà compressées à l'intérieur du fichier. c'est pourquoi vous ne pouvez pas recréer le fichier zip à partir des octets que vous venez de lire.
  • L'utilisation de DotNetZIP: dotnetzip.codeplex.com/... avec ce que vous pouvez faire beaucoup plus de travail en moins de temps et d'effort que Gzip. 🙂