Example usage for org.apache.commons.compress.archivers.sevenz SevenZArchiveEntry setSize

List of usage examples for org.apache.commons.compress.archivers.sevenz SevenZArchiveEntry setSize

Introduction

In this page you can find the example usage for org.apache.commons.compress.archivers.sevenz SevenZArchiveEntry setSize.

Prototype

public void setSize(final long size) 

Source Link

Document

Set this entry's file size.

Usage

From source file:com.espringtran.compressor4j.processor.SevenZipProcessor.java

/**
 * Compress data//from  www  .j ava  2 s .  c  o  m
 * 
 * @param fileCompressor
 *            FileCompressor object
 * @return
 * @throws Exception
 */
@Override
public byte[] compressData(FileCompressor fileCompressor) throws Exception {
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    SevenZOutputFile sevenZOutput = new SevenZOutputFile(new File(fileCompressor.getCompressedPath()));
    try {
        for (BinaryFile binaryFile : fileCompressor.getMapBinaryFile().values()) {
            SevenZArchiveEntry entry = sevenZOutput.createArchiveEntry(new File(binaryFile.getSrcPath()),
                    binaryFile.getDesPath());
            entry.setSize(binaryFile.getActualSize());
            sevenZOutput.putArchiveEntry(entry);
            sevenZOutput.write(binaryFile.getData());
            sevenZOutput.closeArchiveEntry();
        }
        sevenZOutput.finish();
    } catch (Exception e) {
        FileCompressor.LOGGER.error("Error on compress data", e);
    } finally {
        sevenZOutput.close();
        baos.close();
    }
    return baos.toByteArray();
}

From source file:org.apache.ant.compress.taskdefs.SevenZ.java

public SevenZ() {
    setFactory(new SevenZStreamFactory() {
        public ArchiveOutputStream getArchiveOutputStream(File f, String encoding) throws IOException {
            SevenZArchiveOutputStream o = (SevenZArchiveOutputStream) super.getArchiveOutputStream(f, encoding);
            if (contentCompression != null) {
                o.setContentCompression(asMethod(contentCompression));
            }/*from  w  ww .ja  va 2  s.  co m*/
            if (contentMethods != null) {
                o.setContentMethods(contentMethods);
            }
            return o;
        }
    });
    setEntryBuilder(new ArchiveBase.EntryBuilder() {
        public ArchiveEntry buildEntry(ArchiveBase.ResourceWithFlags r) {
            SevenZArchiveEntry entry = new SevenZArchiveEntry();
            entry.setName(r.getName());
            entry.setDirectory(r.getResource().isDirectory());
            entry.setLastModifiedDate(new Date(r.getResource().getLastModified()));
            entry.setSize(r.getResource().getSize());
            if (keepCompression && r.getResourceFlags().hasContentMethods()) {
                entry.setContentMethods(r.getResourceFlags().getContentMethods());
            }
            return entry;
        }
    });
    setFileSetBuilder(new ArchiveBase.FileSetBuilder() {
        public ArchiveFileSet buildFileSet(Resource dest) {
            ArchiveFileSet afs = new SevenZFileSet();
            afs.setSrcResource(dest);
            return afs;
        }
    });
}