function unzipFile(zipFilePath, outputPath) { var zipFile = ""; // ZipFile var entries = ""; // Enumeration of ZipEntry var entry = ""; // ZipEntry var fil = ""; //File var filOutStream = ""; var bufOutStream = ""; var nm = ""; var pth = ""; var lenPth = ""; zipFile = createObject("java", "java.util.zip.ZipFile"); zipFile.init(zipFilePath); entries = zipFile.entries(); while(entries.hasMoreElements()) { entry = entries.nextElement(); if(NOT entry.isDirectory()) { nm = entry.getName(); lenPth = len(nm) - len(getFileFromPath(nm)); if (lenPth) { pth = outputPath & left(nm, lenPth); } else { pth = outputPath; } if (NOT directoryExists(pth)) { fil = createObject("java", "java.io.File"); fil.init(pth); fil.mkdirs(); } filOutStream = createObject( "java", "java.io.FileOutputStream"); filOutStream.init(outputPath & nm); bufOutStream = createObject( "java", "java.io.BufferedOutputStream"); bufOutStream.init(filOutStream); copyInputStream( zipFile.getInputStream(entry), bufOutStream); } } zipFile.close(); } function copyInputStream(inStream, outStream) { var buffer = repeatString(" ",1024).getBytes(); var l = inStream.read(buffer); while(l GTE 0) { outStream.write(buffer, 0, l); l = inStream.read(buffer); } inStream.close(); outStream.close(); }