public class TarBuffer
extends java.lang.Object
You should never have a need to access this class directly. TarBuffers are created by Tar IO Streams.
TarArchive
Modifier and Type | Field and Description |
---|---|
private byte[] |
blockBuffer |
private int |
blockSize |
private int |
currBlkIdx |
private int |
currRecIdx |
private boolean |
debug |
static int |
DEFAULT_BLKSIZE |
static int |
DEFAULT_RCDSIZE |
private java.io.InputStream |
inStream |
private java.io.OutputStream |
outStream |
private int |
recordSize |
private int |
recsPerBlock |
Constructor and Description |
---|
TarBuffer(java.io.InputStream inStream) |
TarBuffer(java.io.InputStream inStream,
int blockSize) |
TarBuffer(java.io.InputStream inStream,
int blockSize,
int recordSize) |
TarBuffer(java.io.OutputStream outStream) |
TarBuffer(java.io.OutputStream outStream,
int blockSize) |
TarBuffer(java.io.OutputStream outStream,
int blockSize,
int recordSize) |
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 |
setDebug(boolean debug)
Set the debugging flag for the buffer.
|
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
private boolean debug
public TarBuffer(java.io.InputStream inStream)
public TarBuffer(java.io.InputStream inStream, int blockSize)
public TarBuffer(java.io.InputStream inStream, int blockSize, int recordSize)
public TarBuffer(java.io.OutputStream outStream)
public TarBuffer(java.io.OutputStream outStream, int blockSize)
public TarBuffer(java.io.OutputStream outStream, int blockSize, int recordSize)
private void initialize(int blockSize, int recordSize)
public int getBlockSize()
public int getRecordSize()
public void setDebug(boolean debug)
debug
- If true, print debugging output.public boolean isEOFRecord(byte[] record)
record
- The record data to check.public void skipRecord() throws java.io.IOException
java.io.IOException
public byte[] readRecord() throws java.io.IOException
java.io.IOException
private 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
public 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
private 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