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. 🙂
Vous devez vous connecter pour publier un commentaire.
Juste de l'essayer.
Essayer cela,
Vous utilisez
GZipStream
, qui est utilisé pour les fichiers GZip, pas (PK)des fichiers Zip. Ce n'est pas aller au travail, évidemment. Essayez leZipFile
classe à la place (mais malheureusement, il ne fonctionne pas sur les cours d'eau, juste des fichiers).En dehors de tout simplement être un format de fichier différent, la grande différence est que GZip est pour la compression seulement, tandis que le Zip est également une archive (qui est, il peut contenir plusieurs fichiers).