public class TarInputStream extends 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[] | oneBufThis contents of this array is not used at all in this class,
 it is only here to avoid repreated object creation during calls
 to the no-arg read method. | 
| protected byte[] | readBuf | 
in| Constructor and Description | 
|---|
| TarInputStream(InputStream is)Constructor for TarInputStream. | 
| TarInputStream(InputStream is,
              int blockSize)Constructor for TarInputStream. | 
| TarInputStream(InputStream is,
              int blockSize,
              int recordSize)Constructor for TarInputStream. | 
| TarInputStream(InputStream is,
              int blockSize,
              int recordSize,
              String encoding)Constructor for TarInputStream. | 
| TarInputStream(InputStream is,
              int blockSize,
              String encoding)Constructor for TarInputStream. | 
| TarInputStream(InputStream is,
              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(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. | 
readprotected TarBuffer buffer
protected TarEntry currEntry
protected boolean debug
protected long entryOffset
protected long entrySize
protected boolean hasHitEOF
protected byte[] oneBuf
protected byte[] readBuf
public TarInputStream(InputStream is)
is - the input stream to usepublic TarInputStream(InputStream is, int blockSize)
is - the input stream to useblockSize - the block size to usepublic TarInputStream(InputStream is, int blockSize, int recordSize)
is - the input stream to useblockSize - the block size to userecordSize - the record size to usepublic TarInputStream(InputStream is, int blockSize, int recordSize, 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 TarInputStream(InputStream is, int blockSize, String encoding)
is - the input stream to useblockSize - the block size to useencoding - name of the encoding to use for file namespublic TarInputStream(InputStream is, String encoding)
is - the input stream to useencoding - name of the encoding to use for file namespublic int available()
              throws IOException
available in class FilterInputStreamIOException - for signaturepublic boolean canReadEntryData(TarEntry te)
May return false if the current entry is a sparse file.
public void close()
           throws IOException
close in interface Closeableclose in interface AutoCloseableclose in class FilterInputStreamIOException - on errorFilterInputStream.inpublic void copyEntryContents(OutputStream out) throws IOException
out - The OutputStream into which to write the entry's data.IOException - on errorprotected byte[] getLongNameData()
                          throws IOException
IOException - on errorpublic TarEntry getNextEntry() throws IOException
IOException - on errorpublic int getRecordSize()
public void mark(int markLimit)
mark in class FilterInputStreammarkLimit - The limit to mark.FilterInputStream.in, 
FilterInputStream.reset()public boolean markSupported()
markSupported in class FilterInputStreamFilterInputStream.in, 
InputStream.mark(int), 
InputStream.reset()public int read()
         throws IOException
read in class FilterInputStreamIOException - on errorFilterInputStream.inpublic int read(byte[] buf,
                int offset,
                int numToRead)
         throws IOException
read in class FilterInputStreambuf - 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 - on errorFilterInputStream.inpublic void reset()
reset in class FilterInputStreamFilterInputStream.in, 
FilterInputStream.mark(int)public void setDebug(boolean debug)
debug - True to turn on debugging.public long skip(long numToSkip)
          throws IOException
skip in class FilterInputStreamnumToSkip - The number of bytes to skip.IOException - on error