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 isDebug)
Sets the debugging flag in this stream's TarBuffer.
|
void |
setDebug(boolean debugF)
Sets the debugging flag.
|
void |
setEntryFactory(TarInputStream.EntryFactory factory)
Sets the EntryFactory.
|
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)
factory - The factory to be set.public void setBufferDebug(boolean isDebug)
isDebug - True to turn on debugging.public void close()
throws java.io.IOException
close in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in class java.io.FilterInputStreamjava.io.IOExceptionpublic int getRecordSize()
public int available()
throws java.io.IOException
available in class java.io.FilterInputStreamjava.io.IOExceptionpublic long skip(long numToSkip)
throws java.io.IOException
skip in class java.io.FilterInputStreamnumToSkip - The number of bytes to skip.java.io.IOExceptionpublic boolean markSupported()
markSupported in class java.io.FilterInputStreampublic void mark(int markLimit)
mark in class java.io.FilterInputStreammarkLimit - The limit to mark.public void reset()
reset in class java.io.FilterInputStreampublic long getEntryPosition()
public long getStreamPosition()
public TarEntry getNextEntry() throws java.io.IOException
java.io.IOExceptionpublic int read()
throws java.io.IOException
read in class java.io.FilterInputStreamjava.io.IOExceptionpublic int read(byte[] buf)
throws java.io.IOException
read in class java.io.FilterInputStreambuf - The buffer into which to place bytes read.java.io.IOExceptionpublic int read(byte[] buf,
int offset,
int numToRead)
throws java.io.IOException
read in class java.io.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.java.io.IOExceptionpublic void copyEntryContents(java.io.OutputStream out)
throws java.io.IOException
out - The OutputStream into which to write the entry's data.java.io.IOExceptionCopyright © 2014 EsprIT-Systems. All Rights Reserved.