public class TarInputStream extends FilterInputStream
Modifier and Type | Class and Description |
---|---|
class |
TarInputStream.EntryAdapter |
static interface |
TarInputStream.EntryFactory
This interface is provided, with the method setEntryFactory(), to allow
the programmer to have their own TarEntry subclass instantiated for the
entries return from getNextEntry().
|
Modifier and Type | Field and Description |
---|---|
protected TarBuffer |
buffer |
protected TarEntry |
currEntry |
protected boolean |
debug |
protected TarInputStream.EntryFactory |
eFactory |
protected long |
entryOffset |
protected long |
entrySize |
protected boolean |
hasHitEOF |
protected byte[] |
oneBuf |
protected byte[] |
readBuf |
in
Constructor and Description |
---|
TarInputStream(InputStream is) |
TarInputStream(InputStream is,
int blockSize) |
TarInputStream(InputStream is,
int blockSize,
int recordSize) |
Modifier and Type | Method and Description |
---|---|
int |
available()
Get the available data that can be read from the current
entry in the archive.
|
void |
close()
Closes this stream.
|
void |
copyEntryContents(OutputStream out)
Copies the contents of the current tar archive entry directly into
an output stream.
|
long |
getEntryPosition()
Get the number of bytes into the current TarEntry.
|
TarEntry |
getNextEntry()
Get the next entry in this tar archive.
|
int |
getRecordSize()
Get the record size being used by this stream's TarBuffer.
|
long |
getStreamPosition()
Get the number of bytes into the stream we are currently at.
|
void |
mark(int markLimit)
Since we do not support marking just yet, we do nothing.
|
boolean |
markSupported()
Since we do not support marking just yet, we return false.
|
int |
read()
Reads a byte from the current tar archive entry.
|
int |
read(byte[] buf)
Reads bytes from the current tar archive entry.
|
int |
read(byte[] buf,
int offset,
int numToRead)
Reads bytes from the current tar archive entry.
|
void |
reset()
Since we do not support marking just yet, we do nothing.
|
void |
setBufferDebug(boolean debug)
Sets the debugging flag in this stream's TarBuffer.
|
void |
setDebug(boolean debugF)
Sets the debugging flag.
|
void |
setEntryFactory(TarInputStream.EntryFactory factory)
Sets the debugging flag.
|
long |
skip(long numToSkip)
Skip bytes in the input buffer.
|
protected boolean debug
protected boolean hasHitEOF
protected long entrySize
protected long entryOffset
protected byte[] oneBuf
protected byte[] readBuf
protected TarInputStream.EntryFactory eFactory
public TarInputStream(InputStream is)
public TarInputStream(InputStream is, int blockSize)
public TarInputStream(InputStream is, int blockSize, int recordSize)
public void setDebug(boolean debugF)
debugF
- True to turn on debugging.public void setEntryFactory(TarInputStream.EntryFactory factory)
debugF
- True to turn on debugging.public void setBufferDebug(boolean debug)
debugF
- True to turn on debugging.public void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
close
in class FilterInputStream
IOException
public int getRecordSize()
public int available() throws IOException
available
in class FilterInputStream
IOException
public long skip(long numToSkip) throws IOException
skip
in class FilterInputStream
numToSkip
- The number of bytes to skip.IOException
public boolean markSupported()
markSupported
in class FilterInputStream
public void mark(int markLimit)
mark
in class FilterInputStream
markLimit
- The limit to mark.public void reset()
reset
in class FilterInputStream
public long getEntryPosition()
public long getStreamPosition()
public TarEntry getNextEntry() throws IOException
IOException
public int read() throws IOException
read
in class FilterInputStream
IOException
public int read(byte[] buf) throws IOException
read
in class FilterInputStream
buf
- The buffer into which to place bytes read.IOException
public int read(byte[] buf, int offset, int numToRead) throws IOException
read
in class FilterInputStream
buf
- The buffer into which to place bytes read.offset
- The offset at which to place bytes read.numToRead
- The number of bytes to read.IOException
public void copyEntryContents(OutputStream out) throws IOException
out
- The OutputStream into which to write the entry's data.IOException
WebARTS Library Licensed Under the GNU - General Public License. Other Libraries licensed under their respective Open Source Licenses