public class TarInputStream
extends java.io.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 |
Constructor and Description |
---|
TarInputStream(java.io.InputStream is) |
TarInputStream(java.io.InputStream is,
int blockSize) |
TarInputStream(java.io.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(java.io.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 TarBuffer buffer
protected TarEntry currEntry
protected TarInputStream.EntryFactory eFactory
public TarInputStream(java.io.InputStream is)
public TarInputStream(java.io.InputStream is, int blockSize)
public TarInputStream(java.io.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 java.io.IOException
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class java.io.FilterInputStream
java.io.IOException
public int getRecordSize()
public int available() throws java.io.IOException
available
in class java.io.FilterInputStream
java.io.IOException
public long skip(long numToSkip) throws java.io.IOException
skip
in class java.io.FilterInputStream
numToSkip
- The number of bytes to skip.java.io.IOException
public boolean markSupported()
markSupported
in class java.io.FilterInputStream
public void mark(int markLimit)
mark
in class java.io.FilterInputStream
markLimit
- The limit to mark.public void reset()
reset
in class java.io.FilterInputStream
public long getEntryPosition()
public long getStreamPosition()
public TarEntry getNextEntry() throws java.io.IOException
java.io.IOException
public int read() throws java.io.IOException
read
in class java.io.FilterInputStream
java.io.IOException
public int read(byte[] buf) throws java.io.IOException
read
in class java.io.FilterInputStream
buf
- The buffer into which to place bytes read.java.io.IOException
public int read(byte[] buf, int offset, int numToRead) throws java.io.IOException
read
in class java.io.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.java.io.IOException
public void copyEntryContents(java.io.OutputStream out) throws java.io.IOException
out
- The OutputStream into which to write the entry's data.java.io.IOException