Forum Navigation
How to close a ZipBlockReader ?
Posted: 05/02/08 08:49:05 Modified: 05/02/08 11:35:21Hi all,
Here is a code that simply decompress a zip's files in a folder. But it give me some exception :
import tango.stdc.Stdio; import tango.text.Util; import tango.io.Stdout; import tango.io.FileConduit; import tango.io.archive.Zip; char[][] decompressFile(char[] pathZip,char[] destFolder) { char[][] pathDests; Stdout("Decomp of : ")(pathZip).newline; char[] destFile; auto zipReader = new ZipBlockReader( pathZip ); foreach(entry;zipReader) { destFile = destFolder ~ "\\" ~ replace( entry.info.name , '/' , '_' ); // Pas de dossier, mais uniquement des fichiers pour ne pas avoir à recréer les dossiers auto outfile=new FileConduit( destFile , FileConduit.WriteCreate); // Ecrit dans le fichier de destination InputStream inStream = entry.open; outfile.output.copy( inStream ); // insére à la liste des fichiers à retourner pathDests ~= destFile; outfile.close(); } zipReader.close(); //delete zipReader; Stdout("Here, the zip file must be close.\nPress a key...").newline; getchar(); return pathDests; } void main(char[][] args) { decompressFile(args[1],args[2]); }But it give me the exception :
object.Exception: Access Violation object.Exception: Access ViolationI'm on :
Windows Vista DMD v1.025 Tango from SVN (revision 3478)Thanks you in advance for your help. TSalm