Bonjour à tous!
J'essaie de créer une archive (avec une extension .pk3) comprenant plusieurs fichiers, qui est destinée a être lu par une autre application.
J'utilise la librairie SharpZipLib et cette méthode pour créer l'archive:
Le fichier est bien créé, avec le bon contenu. A vue d' oeil, l'archive correspond à ce que je veux... Sauf que l'application qui est sensé la lire n'y parviens pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 private static void CreatePackage(String src_dir, String dest_file, String[] files) { using (ZipOutputStream s = new ZipOutputStream(File.Create(dest_file))) { s.SetLevel(9); byte[] buffer = new byte[1024]; foreach (string file in files) { s.PutNextEntry(new ZipEntry(file.Replace(src_dir, ""))); using (FileStream fs = File.OpenRead(file)) { int sourceBytes; do { sourceBytes = fs.Read(buffer, 0, buffer.Length); s.Write(buffer, 0, sourceBytes); } while (sourceBytes > 0); } } s.Finish(); s.Close(); } }
J'ai alors tenté de créer une archive manuellement (click droit dans l'explorateur Nouveau>Dossier compressé), avec le nom voulu, puis j'y ai placé les fichiers que je veux (copier-coller depuis l'archive "corrompue"). Cette fois l'application arrive à lire ce fichier.. De plus, suivant si l'archive est créer manuellement ou par mon programme, la taille diffère..
Je ne vois pas où peut se trouver mon erreur..
Merci pour votre aide
Partager