org.apache.commons.compress.archivers.tar
class TarBuffer extends java.lang.Object
You should never have a need to access this class directly. TarBuffers are created by Tar IO Streams.
Modifier and Type | Field and Description |
---|---|
private byte[] |
blockBuffer |
private int |
blockSize |
private int |
currBlkIdx |
private int |
currRecIdx |
static int |
DEFAULT_BLKSIZE
Default block size
|
static int |
DEFAULT_RCDSIZE
Default record size
|
private java.io.InputStream |
inStream |
private java.io.OutputStream |
outStream |
private int |
recordSize |
private int |
recsPerBlock |
Constructor and Description |
---|
TarBuffer(java.io.InputStream inStream)
Constructor for a TarBuffer on an input stream.
|
TarBuffer(java.io.InputStream inStream,
int blockSize)
Constructor for a TarBuffer on an input stream.
|
TarBuffer(java.io.InputStream inStream,
int blockSize,
int recordSize)
Constructor for a TarBuffer on an input stream.
|
TarBuffer(java.io.OutputStream outStream)
Constructor for a TarBuffer on an output stream.
|
TarBuffer(java.io.OutputStream outStream,
int blockSize)
Constructor for a TarBuffer on an output stream.
|
TarBuffer(java.io.OutputStream outStream,
int blockSize,
int recordSize)
Constructor for a TarBuffer on an output stream.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Close the TarBuffer.
|
private void |
flushBlock()
Flush the current data block if it has any data in it.
|
int |
getBlockSize()
Get the TAR Buffer's block size.
|
int |
getCurrentBlockNum()
Get the current block number, zero based.
|
int |
getCurrentRecordNum()
Get the current record number, within the current block, zero based.
|
int |
getRecordSize()
Get the TAR Buffer's record size.
|
private void |
initialize(int blockSize,
int recordSize)
Initialization common to all constructors.
|
boolean |
isEOFRecord(byte[] record)
Determine if an archive record indicate End of Archive.
|
private boolean |
readBlock() |
byte[] |
readRecord()
Read a record from the input stream and return the data.
|
void |
skipRecord()
Skip over a record on the input stream.
|
private void |
writeBlock()
Write a TarBuffer block to the archive.
|
void |
writeRecord(byte[] record)
Write an archive record to the archive.
|
void |
writeRecord(byte[] buf,
int offset)
Write an archive record to the archive, where the record may be
inside of a larger array buffer.
|
public static final int DEFAULT_RCDSIZE
public static final int DEFAULT_BLKSIZE
private java.io.InputStream inStream
private java.io.OutputStream outStream
private byte[] blockBuffer
private int currBlkIdx
private int currRecIdx
private int blockSize
private int recordSize
private int recsPerBlock
public TarBuffer(java.io.InputStream inStream)
inStream
- the input stream to usepublic TarBuffer(java.io.InputStream inStream, int blockSize)
inStream
- the input stream to useblockSize
- the block size to usepublic TarBuffer(java.io.InputStream inStream, int blockSize, int recordSize)
inStream
- the input stream to useblockSize
- the block size to userecordSize
- the record size to usepublic TarBuffer(java.io.OutputStream outStream)
outStream
- the output stream to usepublic TarBuffer(java.io.OutputStream outStream, int blockSize)
outStream
- the output stream to useblockSize
- the block size to usepublic TarBuffer(java.io.OutputStream outStream, int blockSize, int recordSize)
outStream
- the output stream to useblockSize
- the block size to userecordSize
- the record size to useprivate void initialize(int blockSize, int recordSize)
public int getBlockSize()
public int getRecordSize()
public boolean isEOFRecord(byte[] record)
record
- The record data to check.public void skipRecord() throws java.io.IOException
java.io.IOException
- on errorpublic byte[] readRecord() throws java.io.IOException
java.io.IOException
- on errorprivate boolean readBlock() throws java.io.IOException
java.io.IOException
public int getCurrentBlockNum()
public int getCurrentRecordNum()
public void writeRecord(byte[] record) throws java.io.IOException
record
- The record data to write to the archive.java.io.IOException
- on errorpublic void writeRecord(byte[] buf, int offset) throws java.io.IOException
buf
- The buffer containing the record data to write.offset
- The offset of the record data within buf.java.io.IOException
- on errorprivate void writeBlock() throws java.io.IOException
java.io.IOException
private void flushBlock() throws java.io.IOException
java.io.IOException
public void close() throws java.io.IOException
java.io.IOException
- on error