| java.lang.Object org.apache.tools.tar.TarBuffer
TarBuffer | public class TarBuffer (Code) | | The TarBuffer class implements the tar archive concept
of a buffered input stream. This concept goes back to the
days of blocked tape drives and special io devices. In the
Java universe, the only real function that this class
performs is to ensure that files have the correct "block"
size, or other tars will complain.
You should never have a need to access this class directly.
TarBuffers are created by Tar IO Streams.
|
Constructor Summary | |
public | TarBuffer(InputStream inStream) Constructor for a TarBuffer on an input stream. | public | TarBuffer(InputStream inStream, int blockSize) Constructor for a TarBuffer on an input stream. | public | TarBuffer(InputStream inStream, int blockSize, int recordSize) Constructor for a TarBuffer on an input stream. | public | TarBuffer(OutputStream outStream) Constructor for a TarBuffer on an output stream. | public | TarBuffer(OutputStream outStream, int blockSize) Constructor for a TarBuffer on an output stream. | public | TarBuffer(OutputStream outStream, int blockSize, int recordSize) Constructor for a TarBuffer on an output stream. |
Method Summary | |
public void | close() Close the TarBuffer. | public int | getBlockSize() Get the TAR Buffer's block size. | public int | getCurrentBlockNum() Get the current block number, zero based. | public int | getCurrentRecordNum() Get the current record number, within the current block, zero based. | public int | getRecordSize() Get the TAR Buffer's record size. | public boolean | isEOFRecord(byte[] record) Determine if an archive record indicate End of Archive. | public byte[] | readRecord() Read a record from the input stream and return the data. | public void | setDebug(boolean debug) Set the debugging flag for the buffer. | public void | skipRecord() Skip over a record on the input stream. | public void | writeRecord(byte[] record) Write an archive record to the archive. | public void | writeRecord(byte[] buf, int offset) Write an archive record to the archive, where the record may be
inside of a larger array buffer. |
DEFAULT_BLKSIZE | final public static int DEFAULT_BLKSIZE(Code) | | Default block size
|
DEFAULT_RCDSIZE | final public static int DEFAULT_RCDSIZE(Code) | | Default record size
|
TarBuffer | public TarBuffer(InputStream inStream)(Code) | | Constructor for a TarBuffer on an input stream.
Parameters: inStream - the input stream to use |
TarBuffer | public TarBuffer(InputStream inStream, int blockSize)(Code) | | Constructor for a TarBuffer on an input stream.
Parameters: inStream - the input stream to use Parameters: blockSize - the block size to use |
TarBuffer | public TarBuffer(InputStream inStream, int blockSize, int recordSize)(Code) | | Constructor for a TarBuffer on an input stream.
Parameters: inStream - the input stream to use Parameters: blockSize - the block size to use Parameters: recordSize - the record size to use |
TarBuffer | public TarBuffer(OutputStream outStream)(Code) | | Constructor for a TarBuffer on an output stream.
Parameters: outStream - the output stream to use |
TarBuffer | public TarBuffer(OutputStream outStream, int blockSize)(Code) | | Constructor for a TarBuffer on an output stream.
Parameters: outStream - the output stream to use Parameters: blockSize - the block size to use |
TarBuffer | public TarBuffer(OutputStream outStream, int blockSize, int recordSize)(Code) | | Constructor for a TarBuffer on an output stream.
Parameters: outStream - the output stream to use Parameters: blockSize - the block size to use Parameters: recordSize - the record size to use |
close | public void close() throws IOException(Code) | | Close the TarBuffer. If this is an output buffer, also flush the
current block before closing.
throws: IOException - on error |
getBlockSize | public int getBlockSize()(Code) | | Get the TAR Buffer's block size. Blocks consist of multiple records.
the block size |
getCurrentBlockNum | public int getCurrentBlockNum()(Code) | | Get the current block number, zero based.
The current zero based block number. |
getCurrentRecordNum | public int getCurrentRecordNum()(Code) | | Get the current record number, within the current block, zero based.
Thus, current offset = (currentBlockNum * recsPerBlk) + currentRecNum.
The current zero based record number. |
getRecordSize | public int getRecordSize()(Code) | | Get the TAR Buffer's record size.
the record size |
isEOFRecord | public boolean isEOFRecord(byte[] record)(Code) | | Determine if an archive record indicate End of Archive. End of
archive is indicated by a record that consists entirely of null bytes.
Parameters: record - The record data to check. true if the record data is an End of Archive |
readRecord | public byte[] readRecord() throws IOException(Code) | | Read a record from the input stream and return the data.
The record data. throws: IOException - on error |
setDebug | public void setDebug(boolean debug)(Code) | | Set the debugging flag for the buffer.
Parameters: debug - If true, print debugging output. |
writeRecord | public void writeRecord(byte[] record) throws IOException(Code) | | Write an archive record to the archive.
Parameters: record - The record data to write to the archive. throws: IOException - on error |
writeRecord | public void writeRecord(byte[] buf, int offset) throws IOException(Code) | | Write an archive record to the archive, where the record may be
inside of a larger array buffer. The buffer must be "offset plus
record size" long.
Parameters: buf - The buffer containing the record data to write. Parameters: offset - The offset of the record data within buf. throws: IOException - on error |
|
|