Example usage for org.apache.commons.compress.archivers.cpio CpioArchiveEntry setSize

List of usage examples for org.apache.commons.compress.archivers.cpio CpioArchiveEntry setSize

Introduction

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

Prototype

public void setSize(final long size) 

Source Link

Document

Set the filesize.

Usage

From source file:org.eclipse.packagedrone.utils.rpm.build.PayloadRecorder.java

public Result addFile(final String targetPath, final Path path, final Consumer<CpioArchiveEntry> customizer)
        throws IOException {
    final long size = Files.size(path);

    final CpioArchiveEntry entry = new CpioArchiveEntry(targetPath);
    entry.setSize(size);

    if (customizer != null) {
        customizer.accept(entry);//from w ww .  j  ava2s  .c o m
    }

    this.archiveStream.putArchiveEntry(entry);

    MessageDigest digest;
    try {
        digest = createDigest();
    } catch (final NoSuchAlgorithmException e) {
        throw new IOException(e);
    }

    try (InputStream in = new BufferedInputStream(Files.newInputStream(path))) {
        ByteStreams.copy(new DigestInputStream(in, digest), this.archiveStream);
    }

    this.archiveStream.closeArchiveEntry();

    return new Result(size, digest.digest());
}

From source file:org.eclipse.packagedrone.utils.rpm.build.PayloadRecorder.java

public Result addFile(final String targetPath, final ByteBuffer data,
        final Consumer<CpioArchiveEntry> customizer) throws IOException {
    final long size = data.remaining();

    final CpioArchiveEntry entry = new CpioArchiveEntry(targetPath);
    entry.setSize(size);

    if (customizer != null) {
        customizer.accept(entry);//from   w  ww  . j  a  va2s  .  co m
    }

    this.archiveStream.putArchiveEntry(entry);

    // record digest

    MessageDigest digest;
    try {
        digest = createDigest();
        digest.update(data.slice());
    } catch (final NoSuchAlgorithmException e) {
        throw new IOException(e);
    }

    // write data

    final WritableByteChannel channel = Channels.newChannel(this.archiveStream);
    while (data.hasRemaining()) {
        channel.write(data);
    }

    // close archive entry

    this.archiveStream.closeArchiveEntry();

    return new Result(size, digest.digest());
}

From source file:org.eclipse.packagedrone.utils.rpm.build.PayloadRecorder.java

public Result addSymbolicLink(final String targetPath, final String linkTo,
        final Consumer<CpioArchiveEntry> customizer) throws IOException {
    final byte[] bytes = linkTo.getBytes(StandardCharsets.UTF_8);

    final CpioArchiveEntry entry = new CpioArchiveEntry(targetPath);
    entry.setSize(bytes.length);

    if (customizer != null) {
        customizer.accept(entry);//  w  w w  .j  ava 2  s . co  m
    }

    this.archiveStream.putArchiveEntry(entry);
    this.archiveStream.write(bytes);
    this.archiveStream.closeArchiveEntry();

    return new Result(bytes.length, null);
}