canonical example by Tabnine
public void zipFile(File srcFile, File zipFile) throws IOException { try (FileInputStream fis = new FileInputStream(srcFile); ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFile))) { zos.putNextEntry(new ZipEntry(srcFile.getName())); int len; byte[] buffer = new byte[1024]; while ((len = fis.read(buffer)) > 0) { zos.write(buffer, 0, len); } zos.closeEntry(); } }
@Override public OutputStream _newOutputStream() throws IOException { ZipEntry e = new ZipEntry(path.substring(1)); zos.putNextEntry(e); return new FilterOutputStream(zos) { @Override public void close() throws IOException { zos.closeEntry(); } }; }
public static void makeEvilZip(File outputFile) throws IOException { ZipOutputStream zipOutputStream = new ZipOutputStream(new FileOutputStream(outputFile)); ZipEntry zipEntry = new ZipEntry("../../../../../../../../../../../../../../../tmp/evil.txt"); zipOutputStream.putNextEntry(zipEntry); byte[] output = StringUtils.toUtf8("evil text"); zipOutputStream.write(output); zipOutputStream.closeEntry(); zipOutputStream.close(); } }
private static void doZip(String entryName, InputStream in, ZipOutputStream out) throws IOException { ZipEntry entry = new ZipEntry(entryName); out.putNextEntry(entry); IOUtils.copy(in, out); out.closeEntry(); }
zipOutputStream = new ZipOutputStream(new FileOutputStream(outputZipFullFilename)); if (inputZipFullFilename != null) { zipFile = new ZipFile(inputZipFullFilename); if (zipEntryPath.replace) { zipEntry = zipEntryPath.zipEntry; inputStream = new FileInputStream(zipEntryPath.fullFilename); ZipEntry newZipEntry = new ZipEntry(zipEntryName); addZipEntry(zipOutputStream, newZipEntry, inputStream); ZipEntryPath zipEntryPath = zipEntryPathMap.get(zipEntryName); ZipEntry zipEntry = zipEntryPath.zipEntry; InputStream inputStream = new FileInputStream(zipEntryPath.fullFilename); if (zipProcessor != null) { inputStream = zipProcessor.zipEntryProcess(zipEntry.getName(), inputStream);
@Override protected void handleFile(File file, int depth, Collection results) throws IOException { if (excludeFiles.contains(file.getAbsolutePath())) { return; } zipStream.putNextEntry(new ZipEntry(fromRoot(file))); try (BufferedInputStream in = new BufferedInputStream(new FileInputStream(file))) { IOUtils.copy(in, zipStream); } }
/** * Archives specified file into zip archive. * * @param file File to be archived. * @return Byte array representing zip archive. * @throws IOException In case of input/output exception. */ private byte[] zipFile(File file) throws IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); try (ZipOutputStream zos = new ZipOutputStream(baos)) { ZipEntry entry = new ZipEntry(file.getName()); zos.putNextEntry(entry); try (FileInputStream in = new FileInputStream(file.getAbsolutePath())) { IOUtils.copy(in, zos); } } return baos.toByteArray(); }
private void writeFile(ZipOutputStream out, String file, String content) throws IOException { out.putNextEntry(new ZipEntry(file)); out.write(content.getBytes(UTF_8)); } }
StringBuilder sb = new StringBuilder(); sb.append("Test String"); File f = new File("d:\\test.zip"); ZipOutputStream out = new ZipOutputStream(new FileOutputStream(f)); ZipEntry e = new ZipEntry("mytext.txt"); out.putNextEntry(e); byte[] data = sb.toString().getBytes(); out.write(data, 0, data.length); out.closeEntry(); out.close();
private static void zipFile(final String path, final File input, final ZipOutputStream zOut) throws IOException { if (input.isDirectory()) { final File[] files = input.listFiles(); if (files != null) { for (final File f : files) { final String childPath = path + input.getName() + (f.isDirectory() ? "/" : ""); zipFile(childPath, f, zOut); } } } else { final String childPath = path + (path.length() > 0 ? "/" : "") + input.getName(); final ZipEntry entry = new ZipEntry(childPath); zOut.putNextEntry(entry); final InputStream fileInputStream = new BufferedInputStream(new FileInputStream(input)); try { IOUtils.copy(fileInputStream, zOut); } finally { fileInputStream.close(); } } }
public void testZip(ZipOutputStream zos) throws Exception { ZipEntry ze = new ZipEntry("foo"); zos.putNextEntry(ze); zos.closeEntry(); }
private static void createNewZipEntry(ZipOutputStream out, File file) throws IOException { log.info("Creating new ZipEntry[%s]", file.getName()); out.putNextEntry(new ZipEntry(file.getName())); }
protected void zipFile(byte[] classBytesArray, ZipOutputStream zos, String entryName) { try { ZipEntry entry = new ZipEntry(entryName); zos.putNextEntry(entry); zos.write(classBytesArray, 0, classBytesArray.length); zos.closeEntry(); zos.flush(); } catch (Exception e) { e.printStackTrace(); } } }
private void addFiles(ZipOutputStream output, byte[] buf, File[] files) throws IOException { for (File file : files) { if (file.isDirectory()) { addFiles(output, buf, file.listFiles()); } else { output.putNextEntry( new ZipEntry( relativizePath( getBaseDir(mContext).getParentFile(), file))); FileInputStream input = new FileInputStream(file); try { copy(input, output, buf); } finally { input.close(); } } } }
private boolean createDir0(String path) throws IOException { int x = path.lastIndexOf('/', path.length() - 2); if (x > 0) { String n = path.substring(0, x + 1); createDir0(n); } if (!path.contains(path)) { files.add(path); ZipEntry zipEntry = new ZipEntry(path); zos.putNextEntry(zipEntry); zos.closeEntry(); return true; } return false; }
@Override protected boolean handleDirectory(File directory, int depth, Collection results) throws IOException { if (!directory.getAbsolutePath().equals(configDirectory)) { ZipEntry e = new ZipEntry(fromRoot(directory) + "/"); zipStream.putNextEntry(e); } return true; }
public void dumpZip(Path exFile, String[] originalArgs) throws IOException { try (ZipOutputStream zos = new ZipOutputStream(Files.newOutputStream(exFile))) { BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(zos, StandardCharsets.UTF_8)); zos.putNextEntry(new ZipEntry("summary.txt")); dumpTxt0(writer, originalArgs); zos.closeEntry(); zos.flush(); } }
private void copyExistingFiles(ZipFile inputFile, ZipOutputStream outputFile) throws IOException { // First, copy the contents from the existing outFile: Enumeration<? extends ZipEntry> entries = inputFile.entries(); while (entries.hasMoreElements()) { ZipEntry entry = new ZipEntry(entries.nextElement()); // We can't reuse the compressed size because it depends on compression sizes. entry.setCompressedSize(-1); outputFile.putNextEntry(entry); // No need to create directory entries in the final apk if (! entry.isDirectory()) { BrutIO.copy(inputFile, outputFile, entry); } outputFile.closeEntry(); } }
@ExpectWarning("AM_CREATES_EMPTY_ZIP_FILE_ENTRY") public static void main(String args[]) throws Exception { ZipOutputStream zipfile = new ZipOutputStream(new FileOutputStream("foo.zip")); for (int i = 0; i < args.length; i++) { ZipEntry e = new ZipEntry(args[i]); zipfile.putNextEntry(e); zipfile.closeEntry(); } zipfile.close(); } }
private static void backupFile(ZipOutputStream out, InputStream in, String entryName) throws IOException { out.putNextEntry(new ZipEntry(entryName)); IOUtils.copyAndCloseInput(in, out); out.closeEntry(); } }