|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.compress.archivers.tar.TarBuffer
class TarBuffer
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.
Field Summary | |
---|---|
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 Summary | |
---|---|
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. |
Method Summary | |
---|---|
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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
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
Constructor Detail |
---|
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 useMethod Detail |
---|
private 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
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |