|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.io.InputStream java.io.FilterInputStream com.jguild.jrpm.io.cpio.CPIOInputStream
CPIOInputStream is a stream for reading cpio streams. All formats of cpio are supported (old ascii, old binary, new portable format and the new portable format with crc).
The stream can be read by extracting a cpio entry (containing all informations about a entry) and afterwards reading from the stream the file specified by the entry.
Note: This implementation should be compatible to cpio 2.5
CPIOInputStream cpioIn = new CPIOInputStream(new BufferedInputStream(new FileInputStream(new File("test.cpio"))));
CPIOEntry cpioEntry;
while ((cpioEntry = cpioIn.getNextEntry()) != null) {
System.out.println(cpioEntry.getName());
int tmp;
StringBuffer buf = new StringBuffer();
while ((tmp = cpIn.read()) != -1) {
buf.append((char) tmp);
}
System.out.println(buf.toString());
}
cpioIn.close();
Field Summary |
Fields inherited from class java.io.FilterInputStream |
in |
Fields inherited from interface com.jguild.jrpm.io.cpio.CPIOConstants |
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, 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 | |
CPIOInputStream(java.io.InputStream in)
Construct the cpio input stream |
Method Summary | |
int |
available()
Returns 0 after EOF has reached for the current entry data, otherwise always return 1. |
void |
close()
Closes the CPIO input stream. |
void |
closeEntry()
Closes the current CPIO entry and positions the stream for reading the next entry. |
CPIOEntry |
getNextEntry()
Reads the next CPIO file entry and positions stream at the beginning of the entry data. |
int |
read()
Reads a byte of data. |
int |
read(byte[] b,
int off,
int len)
Reads from the current CPIO entry into an array of bytes. |
long |
skip(long n)
Skips specified number of bytes in the current CPIO entry. |
Methods inherited from class java.io.FilterInputStream |
mark, markSupported, read, reset |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public CPIOInputStream(java.io.InputStream in)
in
- The cpio streamMethod Detail |
public int available() throws java.io.IOException
Programs should not count on this method to return the actual number of bytes that could be read without blocking.
java.io.IOException
- if an I/O error has occurred or
if a CPIO file error has occurredpublic void close() throws java.io.IOException
java.io.IOException
- if an I/O error has occurredpublic void closeEntry() throws java.io.IOException
java.io.IOException
- if an I/O error has occurred or
if a CPIO file error has occurredpublic CPIOEntry getNextEntry() throws java.io.IOException
java.io.IOException
- if an I/O error has occurred or
if a CPIO file error has occurredpublic int read() throws java.io.IOException
java.io.IOException
- if an I/O error has occurred or
if a CPIO file error has occurredpublic int read(byte[] b, int off, int len) throws java.io.IOException
b
- the buffer into which the data is readoff
- the start offset of the datalen
- the maximum number of bytes read
java.io.IOException
- if an I/O error has occurred or
if a CPIO file error has occurredpublic long skip(long n) throws java.io.IOException
n
- the number of bytes to skip
java.io.IOException
- if an I/O error has occurred
java.lang.IllegalArgumentException
- if n < 0
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |