| 183 | } |
| 184 | } |
| 185 | function addFileToZip(file, parentDir) { |
| 186 | if (file.isDirectory()) { |
| 187 | var files = file.listFiles(); |
| 188 | for (var i = 0; i < files.length; i++) { |
| 189 | addFileToZip(files[i], parentDir + file.getName() + "/"); |
| 190 | } |
| 191 | } |
| 192 | else { |
| 193 | var entryName = parentDir + file.getName(); |
| 194 | var entry = ZipEntry.$new(entryName); |
| 195 | zos.putNextEntry(entry); |
| 196 | var fis = FileInputStream.$new(file.getAbsolutePath()); |
| 197 | var buffer = Java.array('byte', Array(1024).fill(0)); |
| 198 | var length; |
| 199 | while ((length = fis.read(buffer)) != -1) { |
| 200 | zos.write(buffer, 0, length); |
| 201 | } |
| 202 | fis.close(); |
| 203 | zos.closeEntry(); |
| 204 | processedFiles++; |
| 205 | console.log("Doing Cpp2IL files Zip one Folder Progress: " + (processedFiles / totalFiles * 100).toFixed(2) + "%"); |
| 206 | } |
| 207 | } |
| 208 | var folder = File.$new(folderPath); |
| 209 | if (!folder.isDirectory()) { |
| 210 | throw new Error('Provided path is not a directory'); |