List of usage examples for java.util.zip ZipEntry DEFLATED
int DEFLATED
To view the source code for java.util.zip ZipEntry DEFLATED.
Click Source Link
From source file:com.aionlightning.slf4j.conversion.TruncateToZipFileAppender.java
/** * This method creates archive with file instead of deleting it. * //from w ww. jav a 2 s . c o m * @param file * file to truncate */ protected void truncate(File file) { File backupRoot = new File(backupDir); if (!backupRoot.exists() && !backupRoot.mkdirs()) { log.warn("Can't create backup dir for backup storage"); return; } String date = ""; try { BufferedReader reader = new BufferedReader(new FileReader(file)); date = reader.readLine().split("\f")[1]; reader.close(); } catch (IOException e) { e.printStackTrace(); } File zipFile = new File(backupRoot, file.getName() + "." + date + ".zip"); ZipOutputStream zos = null; FileInputStream fis = null; try { zos = new ZipOutputStream(new FileOutputStream(zipFile)); ZipEntry entry = new ZipEntry(file.getName()); entry.setMethod(ZipEntry.DEFLATED); entry.setCrc(FileUtils.checksumCRC32(file)); zos.putNextEntry(entry); fis = FileUtils.openInputStream(file); byte[] buffer = new byte[1024]; int readed; while ((readed = fis.read(buffer)) != -1) { zos.write(buffer, 0, readed); } } catch (Exception e) { log.warn("Can't create zip file", e); } finally { if (zos != null) { try { zos.close(); } catch (IOException e) { log.warn("Can't close zip file", e); } } if (fis != null) { try { fis.close(); } catch (IOException e) { log.warn("Can't close zipped file", e); } } } if (!file.delete()) { log.warn("Can't delete old log file " + file.getAbsolutePath()); } }
From source file:cascading.tap.hadoop.ZipInputFormatTest.java
public void testSplits() throws Exception { JobConf job = new JobConf(); FileSystem currentFs = FileSystem.get(job); Path file = new Path(workDir, "test.zip"); Reporter reporter = Reporter.NULL;//from ww w . j a va 2s . c o m int seed = new Random().nextInt(); LOG.info("seed = " + seed); Random random = new Random(seed); FileInputFormat.setInputPaths(job, file); for (int entries = 1; entries < MAX_ENTRIES; entries += random.nextInt(MAX_ENTRIES / 10) + 1) { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); ZipOutputStream zos = new ZipOutputStream(byteArrayOutputStream); long length = 0; LOG.debug("creating; zip file with entries = " + entries); // for each entry in the zip file for (int entryCounter = 0; entryCounter < entries; entryCounter++) { // construct zip entries splitting MAX_LENGTH between entries long entryLength = MAX_LENGTH / entries; ZipEntry zipEntry = new ZipEntry("/entry" + entryCounter + ".txt"); zipEntry.setMethod(ZipEntry.DEFLATED); zos.putNextEntry(zipEntry); for (length = entryCounter * entryLength; length < (entryCounter + 1) * entryLength; length++) { zos.write(Long.toString(length).getBytes()); zos.write("\n".getBytes()); } zos.flush(); zos.closeEntry(); } zos.flush(); zos.close(); currentFs.delete(file, true); OutputStream outputStream = currentFs.create(file); byteArrayOutputStream.writeTo(outputStream); outputStream.close(); ZipInputFormat format = new ZipInputFormat(); format.configure(job); LongWritable key = new LongWritable(); Text value = new Text(); InputSplit[] splits = format.getSplits(job, 100); BitSet bits = new BitSet((int) length); for (int j = 0; j < splits.length; j++) { LOG.debug("split[" + j + "]= " + splits[j]); RecordReader<LongWritable, Text> reader = format.getRecordReader(splits[j], job, reporter); try { int count = 0; while (reader.next(key, value)) { int v = Integer.parseInt(value.toString()); LOG.debug("read " + v); if (bits.get(v)) LOG.warn("conflict with " + v + " in split " + j + " at position " + reader.getPos()); assertFalse("key in multiple partitions.", bits.get(v)); bits.set(v); count++; } LOG.debug("splits[" + j + "]=" + splits[j] + " count=" + count); } finally { reader.close(); } } assertEquals("some keys in no partition.", length, bits.cardinality()); } }
From source file:gov.nih.nci.caarray.application.fileaccess.FileAccessUtils.java
/** * Adds the given file to the given zip output stream using the given name as the zip entry name. This method will * NOT call finish on the zip output stream at the end. * /*ww w . j a v a 2 s . c om*/ * @param zos the zip output stream to add the file to. This stream must already be open. * @param file the file to put in the zip. * @param name the name to use for this zip entry. * @param addAsStored if true, then the file will be added to the zip as a STORED entry (e.g. without applying * compression to it); if false, then the file will be added to the zip as a DEFLATED entry. * @throws IOException if there is an error writing to the stream */ public void writeZipEntry(ZipOutputStream zos, File file, String name, boolean addAsStored) throws IOException { final ZipEntry ze = new ZipEntry(name); ze.setMethod(addAsStored ? ZipEntry.STORED : ZipEntry.DEFLATED); if (addAsStored) { ze.setSize(file.length()); ze.setCrc(FileUtils.checksumCRC32(file)); } zos.putNextEntry(ze); final InputStream is = FileUtils.openInputStream(file); IOUtils.copy(is, zos); zos.closeEntry(); zos.flush(); IOUtils.closeQuietly(is); }
From source file:brut.androlib.ApkDecoder.java
public void decode() throws AndrolibException, IOException { File outDir = getOutDir();/*from w w w . j ava2s .c o m*/ if (!mForceDelete && outDir.exists()) { throw new OutDirExistsException(); } if (!mApkFile.isFile() || !mApkFile.canRead()) { throw new InFileNotFoundException(); } try { OS.rmdir(outDir); } catch (BrutException ex) { throw new AndrolibException(ex); } outDir.mkdirs(); LOGGER.info("Using Apktool " + Androlib.getVersion() + " on " + mApkFile.getName()); if (hasResources()) { Map<String, String> sdkInfo = mAndrolib.getResTable(mApkFile).getSdkInfo(); if (sdkInfo.get("targetSdkVersion") != null) { mApi = Integer.parseInt(sdkInfo.get("targetSdkVersion")); } setAnalysisMode(mAnalysisMode, true); // read the resources.arsc checking for STORED vs DEFLATE // this will determine whether we compress on rebuild or not. ZipExtFile zef = new ZipExtFile(mApkFile.getAbsolutePath()); ZipArchiveEntry ze = zef.getEntry("resources.arsc"); if (ze != null) { int compression = ze.getMethod(); mCompressResources = (compression == ZipEntry.DEFLATED); } zef.close(); switch (mDecodeResources) { case DECODE_RESOURCES_NONE: mAndrolib.decodeResourcesRaw(mApkFile, outDir); break; case DECODE_RESOURCES_FULL: mAndrolib.decodeResourcesFull(mApkFile, outDir, getResTable()); break; } } else { // if there's no resources.asrc, decode the manifest without looking // up attribute references if (hasManifest()) { switch (mDecodeResources) { case DECODE_RESOURCES_NONE: mAndrolib.decodeManifestRaw(mApkFile, outDir); break; case DECODE_RESOURCES_FULL: mAndrolib.decodeManifestFull(mApkFile, outDir, getResTable()); break; } } } if (hasSources()) { switch (mDecodeSources) { case DECODE_SOURCES_NONE: mAndrolib.decodeSourcesRaw(mApkFile, outDir, mDebug); break; case DECODE_SOURCES_SMALI: mAndrolib.decodeSourcesSmali(mApkFile, outDir, mDebug, mDebugLinePrefix, mBakDeb, mApi); break; case DECODE_SOURCES_JAVA: mAndrolib.decodeSourcesJava(mApkFile, outDir, mDebug); break; } } mAndrolib.decodeRawFiles(mApkFile, outDir); mAndrolib.decodeUnknownFiles(mApkFile, outDir, mResTable); mAndrolib.writeOriginalFiles(mApkFile, outDir); writeMetaFile(); }
From source file:com.controlj.green.modstat.work.ModstatWork.java
@Override public void run() { final ZipOutputStream zout; ByteArrayOutputStream out = new ByteArrayOutputStream(10000); zout = new ZipOutputStream(out); try {//from w ww . java2s . com connection.runReadAction(FieldAccessFactory.newFieldAccess(), new ReadAction() { public void execute(@NotNull SystemAccess access) throws Exception { Location root = access.getTree(SystemTree.Network).resolve(rootPath); Collection<ModuleStatus> aspects = root.find(ModuleStatus.class, Acceptors.acceptAll()); synchronized (this) { progressLimit = aspects.size(); } for (ModuleStatus aspect : aspects) { Location location = aspect.getLocation(); try { if (!location.getAspect(Device.class).isOutOfService()) { String path = getReferencePath(location); //System.out.println("Gathering modstat from "+path); ZipEntry entry = new ZipEntry(path + ".txt"); entry.setMethod(ZipEntry.DEFLATED); zout.putNextEntry(entry); IOUtils.copy(new StringReader(aspect.getReportText()), zout); zout.closeEntry(); synchronized (this) { progress++; if (isInterrupted()) { error = new Exception("Gathering Modstats interrupted"); return; } } } } catch (NoSuchAspectException e) { // skip and go to the next one } } } }); } catch (Exception e) { synchronized (this) { error = e; } return; } finally { try { zout.close(); } catch (IOException e) { } // we tried our best } if (!hasError()) { cache = out.toByteArray(); } }
From source file:com.l2jserver.service.core.logging.TruncateToZipFileAppender.java
/** * This method creates archive with file instead of deleting it. * /*from w ww . jav a2 s. com*/ * @param file * file to truncate */ protected void truncate(File file) { LogLog.debug("Compression of file: " + file.getAbsolutePath() + " started."); // Linux systems doesn't provide file creation time, so we have to hope // that log files // were not modified manually after server starup // We can use here Windowns-only solution but that suck :( if (FileUtils.isFileOlder(file, ManagementFactory.getRuntimeMXBean().getStartTime())) { File backupRoot = new File(getBackupDir()); if (!backupRoot.exists() && !backupRoot.mkdirs()) { throw new Error("Can't create backup dir for backup storage"); } SimpleDateFormat df; try { df = new SimpleDateFormat(getBackupDateFormat()); } catch (Exception e) { throw new Error("Invalid date formate for backup files: " + getBackupDateFormat(), e); } String date = df.format(new Date(file.lastModified())); File zipFile = new File(backupRoot, file.getName() + "." + date + ".zip"); ZipOutputStream zos = null; FileInputStream fis = null; try { zos = new ZipOutputStream(new FileOutputStream(zipFile)); ZipEntry entry = new ZipEntry(file.getName()); entry.setMethod(ZipEntry.DEFLATED); entry.setCrc(FileUtils.checksumCRC32(file)); zos.putNextEntry(entry); fis = FileUtils.openInputStream(file); byte[] buffer = new byte[1024]; int readed; while ((readed = fis.read(buffer)) != -1) { zos.write(buffer, 0, readed); } } catch (Exception e) { throw new Error("Can't create zip file", e); } finally { if (zos != null) { try { zos.close(); } catch (IOException e) { // not critical error LogLog.warn("Can't close zip file", e); } } if (fis != null) { try { // not critical error fis.close(); } catch (IOException e) { LogLog.warn("Can't close zipped file", e); } } } if (!file.delete()) { throw new Error("Can't delete old log file " + file.getAbsolutePath()); } } }
From source file:com.aionemu.commons.log4j.appenders.TruncateToZipFileAppender.java
/** * This method creates archive with file instead of deleting it. * * @param file file to truncate/*from w w w . j a v a2s .c om*/ */ protected void truncate(File file) { LogLog.debug("Compression of file: " + file.getAbsolutePath() + " started."); // Linux systems doesn't provide file creation time, so we have to hope // that log files // were not modified manually after server starup // We can use here Windowns-only solution but that suck :( if (FileUtils.isFileOlder(file, ManagementFactory.getRuntimeMXBean().getStartTime())) { File backupRoot = new File(getBackupDir()); if (!backupRoot.exists() && !backupRoot.mkdirs()) { throw new AppenderInitializationError("Can't create backup dir for backup storage"); } SimpleDateFormat df; try { df = new SimpleDateFormat(getBackupDateFormat()); } catch (Exception e) { throw new AppenderInitializationError( "Invalid date formate for backup files: " + getBackupDateFormat(), e); } String date = df.format(new Date(file.lastModified())); File zipFile = new File(backupRoot, file.getName() + "." + date + ".zip"); ZipOutputStream zos = null; FileInputStream fis = null; try { zos = new ZipOutputStream(new FileOutputStream(zipFile)); ZipEntry entry = new ZipEntry(file.getName()); entry.setMethod(ZipEntry.DEFLATED); entry.setCrc(FileUtils.checksumCRC32(file)); zos.putNextEntry(entry); fis = FileUtils.openInputStream(file); byte[] buffer = new byte[1024]; int readed; while ((readed = fis.read(buffer)) != -1) { zos.write(buffer, 0, readed); } } catch (Exception e) { throw new AppenderInitializationError("Can't create zip file", e); } finally { if (zos != null) { try { zos.close(); } catch (IOException e) { // not critical error LogLog.warn("Can't close zip file", e); } } if (fis != null) { try { // not critical error fis.close(); } catch (IOException e) { LogLog.warn("Can't close zipped file", e); } } } if (!file.delete()) { throw new AppenderInitializationError("Can't delete old log file " + file.getAbsolutePath()); } } }
From source file:edu.stanford.muse.email.JarDocCache.java
@Override public synchronized void saveHeader(Document d, String prefix, int msgNum) throws FileNotFoundException, IOException { JarOutputStream jos = getHeadersJarOS(prefix); // create the bytes ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream headerOOS = new ObjectOutputStream(baos); headerOOS.writeObject(d);/*w w w . j a v a2 s.co m*/ byte buf[] = baos.toByteArray(); ZipEntry ze = new ZipEntry(msgNum + ".header"); ze.setMethod(ZipEntry.DEFLATED); jos.putNextEntry(ze); jos.write(buf, 0, buf.length); jos.closeEntry(); jos.flush(); }
From source file:edu.stanford.muse.email.JarDocCache.java
@Override public synchronized void saveContents(String contents, String prefix, int msgNum) throws IOException, GeneralSecurityException { JarOutputStream jos = getContentsJarOS(prefix); // create the bytes ZipEntry ze = new ZipEntry(msgNum + ".content"); ze.setMethod(ZipEntry.DEFLATED); // byte[] buf = CryptoUtils.getEncryptedBytes(contents.getBytes("UTF-8")); byte[] buf = contents.getBytes("UTF-8"); jos.putNextEntry(ze);//from w ww. ja va2 s .c o m jos.write(buf, 0, buf.length); jos.closeEntry(); jos.flush(); }
From source file:com.rover12421.shaka.apktool.lib.AndrolibAj.java
private void copyUnknownFiles(File appDir, ZipOutputStream outputFile, Map<String, String> files) throws IOException { String UNK_DIRNAME = getUNK_DIRNAME(); File unknownFileDir = new File(appDir, UNK_DIRNAME); // loop through unknown files for (Map.Entry<String, String> unknownFileInfo : files.entrySet()) { File inputFile = new File(unknownFileDir, unknownFileInfo.getKey()); if (inputFile.isDirectory()) { continue; }/*from w w w . j a v a 2 s. c om*/ ZipEntry newEntry = new ZipEntry(unknownFileInfo.getKey()); int method = Integer.valueOf(unknownFileInfo.getValue()); LogHelper.fine( String.format("Copying unknown file %s with method %d", unknownFileInfo.getKey(), method)); if (method == ZipEntry.STORED) { newEntry.setMethod(ZipEntry.STORED); newEntry.setSize(inputFile.length()); newEntry.setCompressedSize(-1); BufferedInputStream unknownFile = new BufferedInputStream(new FileInputStream(inputFile)); CRC32 crc = calculateCrc(unknownFile); newEntry.setCrc(crc.getValue()); // LogHelper.getLogger().fine("\tsize: " + newEntry.getSize()); } else { newEntry.setMethod(ZipEntry.DEFLATED); } outputFile.putNextEntry(newEntry); BrutIO.copy(inputFile, outputFile); outputFile.closeEntry(); } }