package org.ovirt.engine.core.utils.archivers.tar;
import java.io.OutputStream;
import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream;
public class InMemoryTar implements AutoCloseable{
private TarArchiveOutputStream tarArchiveOutputStream;
public InMemoryTar(OutputStream outputStream) {
tarArchiveOutputStream = new TarArchiveOutputStream(outputStream);
}
public void addTarEntry(byte[] data, String name) throws Exception {
TarArchiveEntry entry = new TarArchiveEntry(name);
entry.setSize(data.length);
tarArchiveOutputStream.putArchiveEntry(entry);
tarArchiveOutputStream.write(data);
tarArchiveOutputStream.closeArchiveEntry();
}
@Override
public void close() throws Exception {
tarArchiveOutputStream.close();
}
}