|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.io.OutputStream
org.apache.commons.compress.archivers.ArchiveOutputStream
org.apache.commons.compress.archivers.cpio.CpioArchiveOutputStream
public class CpioArchiveOutputStream
CPIOArchiveOutputStream is a stream for writing CPIO streams. All formats of CPIO are supported (old ASCII, old binary, new portable format and the new portable format with CRC).
An entry can be written by creating an instance of CpioArchiveEntry and fill it with the necessary values and put it into the CPIO stream. Afterwards write the contents of the file into the CPIO stream. Either close the stream by calling finish() or put a next entry into the cpio stream.
CpioArchiveOutputStream out = new CpioArchiveOutputStream(
new FileOutputStream(new File("test.cpio")));
CpioArchiveEntry entry = new CpioArchiveEntry();
entry.setName("testfile");
String contents = "12345";
entry.setFileSize(contents.length());
entry.setMode(CpioConstants.C_ISREG); // regular file
... set other attributes, e.g. time, number of links
out.putArchiveEntry(entry);
out.write(testContents.getBytes());
out.close();
Note: This implementation should be compatible to cpio 2.5
This class uses mutable fields and is not considered threadsafe.
based on code from the jRPM project (jrpm.sourceforge.net)
Field Summary |
---|
Fields inherited from interface org.apache.commons.compress.archivers.cpio.CpioConstants |
---|
BLOCK_SIZE, C_IRGRP, C_IROTH, C_IRUSR, C_ISBLK, C_ISCHR, C_ISDIR, C_ISFIFO, C_ISGID, C_ISLNK, C_ISNWK, C_ISREG, C_ISSOCK, C_ISUID, C_ISVTX, C_IWGRP, C_IWOTH, C_IWUSR, C_IXGRP, C_IXOTH, C_IXUSR, CPIO_TRAILER, FORMAT_NEW, FORMAT_NEW_CRC, FORMAT_NEW_MASK, FORMAT_OLD_ASCII, FORMAT_OLD_BINARY, FORMAT_OLD_MASK, MAGIC_NEW, MAGIC_NEW_CRC, MAGIC_OLD_ASCII, MAGIC_OLD_BINARY, S_IFMT |
Constructor Summary | |
---|---|
CpioArchiveOutputStream(OutputStream out)
Construct the cpio output stream. |
|
CpioArchiveOutputStream(OutputStream out,
short format)
Construct the cpio output stream with a specified format and a blocksize of BLOCK_SIZE . |
|
CpioArchiveOutputStream(OutputStream out,
short format,
int blockSize)
Construct the cpio output stream with a specified format |
Method Summary | |
---|---|
void |
close()
Closes the CPIO output stream as well as the stream being filtered. |
void |
closeArchiveEntry()
Closes the archive entry, writing any trailer information that may be required. |
ArchiveEntry |
createArchiveEntry(File inputFile,
String entryName)
Creates a new ArchiveEntry. |
void |
finish()
Finishes writing the contents of the CPIO output stream without closing the underlying stream. |
void |
putArchiveEntry(ArchiveEntry entry)
Begins writing a new CPIO file entry and positions the stream to the start of the entry data. |
void |
write(byte[] b,
int off,
int len)
Writes an array of bytes to the current CPIO entry data. |
Methods inherited from class org.apache.commons.compress.archivers.ArchiveOutputStream |
---|
canWriteEntryData, count, count, getBytesWritten, getCount, write |
Methods inherited from class java.io.OutputStream |
---|
flush, write |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public CpioArchiveOutputStream(OutputStream out, short format)
BLOCK_SIZE
.
out
- The cpio streamformat
- The format of the streampublic CpioArchiveOutputStream(OutputStream out, short format, int blockSize)
out
- The cpio streamformat
- The format of the streamblockSize
- The block size of the archive.public CpioArchiveOutputStream(OutputStream out)
out
- The cpio streamMethod Detail |
---|
public void putArchiveEntry(ArchiveEntry entry) throws IOException
putArchiveEntry
in class ArchiveOutputStream
entry
- the CPIO cpioEntry to be written
IOException
- if an I/O error has occurred or if a CPIO file error has
occurred
ClassCastException
- if entry is not an instance of CpioArchiveEntrypublic void closeArchiveEntry() throws IOException
ArchiveOutputStream
closeArchiveEntry
in class ArchiveOutputStream
IOException
public void write(byte[] b, int off, int len) throws IOException
write
in class OutputStream
b
- the data to be writtenoff
- the start offset in the datalen
- the number of bytes that are written
IOException
- if an I/O error has occurred or if a CPIO file error has
occurredpublic void finish() throws IOException
finish
in class ArchiveOutputStream
IOException
- if an I/O exception has occurred or if a CPIO file error has
occurredpublic void close() throws IOException
close
in interface Closeable
close
in class OutputStream
IOException
- if an I/O error has occurred or if a CPIO file error has
occurredpublic ArchiveEntry createArchiveEntry(File inputFile, String entryName) throws IOException
createArchiveEntry
in class ArchiveOutputStream
IOException
ArchiveOutputStream.createArchiveEntry(java.io.File, java.lang.String)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |