Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Unzip a file with haxe - example
public static function unzip( _path:String, _dest:String, ignoreRootFolder:String = "" ) {
var _in_file = sys.io.File.read( _path );
var _entries = haxe.zip.Reader.readZip( _in_file );
_in_file.close();
for(_entry in _entries) {
var fileName = _entry.fileName;
if (fileName.charAt (0) != "/" && fileName.charAt (0) != "\\" && fileName.split ("..").length <= 1) {
var dirs = ~/[\/\\]/g.split(fileName);
if ((ignoreRootFolder != "" && dirs.length > 1) || ignoreRootFolder == "") {
if (ignoreRootFolder != "") {
dirs.shift ();
}
var path = "";
var file = dirs.pop();
for( d in dirs ) {
path += d;
sys.FileSystem.createDirectory(_dest + "/" + path);
path += "/";
}
if( file == "" ) {
if( path != "" ) Run._trace("created " + path);
continue; // was just a directory
}
path += file;
Run._trace("unzip " + path);
var data = haxe.zip.Reader.unzip(_entry);
var f = File.write (_dest + "/" + path, true);
f.write(data);
f.close();
}
}
} //_entry
Sys.println('');
Sys.println('unzipped successfully to ${_dest}');
} //unzip
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.