public class TarInputStream
extends java.io.FilterInputStream
Modifier and Type | Field and Description |
---|---|
protected TarBuffer |
buffer |
protected TarEntry |
currEntry |
protected boolean |
debug |
protected long |
entryOffset |
protected long |
entrySize |
protected boolean |
hasHitEOF |
protected byte[] |
oneBuf
This contents of this array is not used at all in this class,
it is only here to avoid repeated object creation during calls
to the no-arg read method.
|
protected byte[] |
readBuf |
Constructor and Description |
---|
TarInputStream(java.io.InputStream is)
Constructor for TarInputStream.
|
TarInputStream(java.io.InputStream is,
int blockSize)
Constructor for TarInputStream.
|
TarInputStream(java.io.InputStream is,
int blockSize,
int recordSize)
Constructor for TarInputStream.
|
TarInputStream(java.io.InputStream is,
int blockSize,
int recordSize,
java.lang.String encoding)
Constructor for TarInputStream.
|
TarInputStream(java.io.InputStream is,
int blockSize,
java.lang.String encoding)
Constructor for TarInputStream.
|
TarInputStream(java.io.InputStream is,
java.lang.String encoding)
Constructor for TarInputStream.
|
Modifier and Type | Method and Description |
---|---|
int |
available()
Get the available data that can be read from the current
entry in the archive.
|
boolean |
canReadEntryData(TarEntry te)
Whether this class is able to read the given entry.
|
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.
|
protected byte[] |
getLongNameData()
Get the next entry in this tar archive as longname data.
|
TarEntry |
getNextEntry()
Get the next entry in this tar archive.
|
int |
getRecordSize()
Get the record size being used by this stream's TarBuffer.
|
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,
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 |
setDebug(boolean debug)
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[] readBuf
protected TarBuffer buffer
protected TarEntry currEntry
protected byte[] oneBuf
public TarInputStream(java.io.InputStream is)
is
- the input stream to usepublic TarInputStream(java.io.InputStream is, java.lang.String encoding)
is
- the input stream to useencoding
- name of the encoding to use for file namespublic TarInputStream(java.io.InputStream is, int blockSize)
is
- the input stream to useblockSize
- the block size to usepublic TarInputStream(java.io.InputStream is, int blockSize, java.lang.String encoding)
is
- the input stream to useblockSize
- the block size to useencoding
- name of the encoding to use for file namespublic TarInputStream(java.io.InputStream is, int blockSize, int recordSize)
is
- the input stream to useblockSize
- the block size to userecordSize
- the record size to usepublic TarInputStream(java.io.InputStream is, int blockSize, int recordSize, java.lang.String encoding)
is
- the input stream to useblockSize
- the block size to userecordSize
- the record size to useencoding
- name of the encoding to use for file namespublic void setDebug(boolean debug)
debug
- 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
- on errorpublic int getRecordSize()
public int available() throws java.io.IOException
available
in class java.io.FilterInputStream
java.io.IOException
- for signaturepublic long skip(long numToSkip) throws java.io.IOException
skip
in class java.io.FilterInputStream
numToSkip
- The number of bytes to skip.java.io.IOException
- on errorpublic 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 TarEntry getNextEntry() throws java.io.IOException
java.io.IOException
- on errorprotected byte[] getLongNameData() throws java.io.IOException
java.io.IOException
- on errorpublic int read() throws java.io.IOException
read
in class java.io.FilterInputStream
java.io.IOException
- on errorpublic 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
- on errorpublic void copyEntryContents(java.io.OutputStream out) throws java.io.IOException
out
- The OutputStream into which to write the entry's data.java.io.IOException
- on errorpublic boolean canReadEntryData(TarEntry te)
May return false if the current entry is a sparse file.
te
- TarEntry