public class TarUtils
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private static int |
BYTE_MASK |
| Modifier | Constructor and Description |
|---|---|
private |
TarUtils()
Private constructor to prevent instantiation of this utility class.
|
| Modifier and Type | Method and Description |
|---|---|
static long |
computeCheckSum(byte[] buf)
Compute the checksum of a tar entry header.
|
private static java.lang.String |
exceptionMessage(byte[] buffer,
int offset,
int length,
int current,
byte currentByte) |
static int |
formatCheckSumOctalBytes(long value,
byte[] buf,
int offset,
int length)
Writes an octal value into a buffer.
|
static int |
formatLongOctalBytes(long value,
byte[] buf,
int offset,
int length)
Write an octal long integer into a buffer.
|
static int |
formatNameBytes(java.lang.String name,
byte[] buf,
int offset,
int length)
Copy a name (StringBuffer) into a buffer.
|
static int |
formatOctalBytes(long value,
byte[] buf,
int offset,
int length)
Write an octal integer into a buffer.
|
static void |
formatUnsignedOctalString(long value,
byte[] buffer,
int offset,
int length)
Fill buffer with unsigned octal number, padded with leading zeroes.
|
static java.lang.String |
parseName(byte[] buffer,
int offset,
int length)
Parse an entry name from a buffer.
|
static long |
parseOctal(byte[] buffer,
int offset,
int length)
Parse an octal string from a buffer.
|
private static final int BYTE_MASK
private TarUtils()
public static long parseOctal(byte[] buffer,
int offset,
int length)
buffer - The buffer from which to parse.offset - The offset into the buffer from which to parse.length - The maximum number of bytes to parse - must be at least 2 bytes.java.lang.IllegalArgumentException - if the trailing space/NUL is missing or if a invalid byte is detected.private static java.lang.String exceptionMessage(byte[] buffer,
int offset,
int length,
int current,
byte currentByte)
public static java.lang.String parseName(byte[] buffer,
int offset,
int length)
buffer - The buffer from which to parse.offset - The offset into the buffer from which to parse.length - The maximum number of bytes to parse.public static int formatNameBytes(java.lang.String name,
byte[] buf,
int offset,
int length)
name - The header name from which to copy the characters.buf - The buffer where the name is to be stored.offset - The starting offset into the bufferlength - The maximum number of header bytes to copy.public static void formatUnsignedOctalString(long value,
byte[] buffer,
int offset,
int length)
value - number to convert to octal - treated as unsignedbuffer - destination bufferoffset - starting offset in bufferlength - length of buffer to filljava.lang.IllegalArgumentException - if the value will not fit in the bufferpublic static int formatOctalBytes(long value,
byte[] buf,
int offset,
int length)
formatUnsignedOctalString(long, byte[], int, int) to format
the value as an octal string with leading zeros.
The converted number is followed by space and NULvalue - The value to writebuf - The buffer to receive the outputoffset - The starting offset into the bufferlength - The size of the output bufferjava.lang.IllegalArgumentException - if the value (and trailer) will not fit in the bufferpublic static int formatLongOctalBytes(long value,
byte[] buf,
int offset,
int length)
formatUnsignedOctalString(long, byte[], int, int) to format
the value as an octal string with leading zeros.
The converted number is followed by a space.value - The value to write as octalbuf - The destinationbuffer.offset - The starting offset into the buffer.length - The length of the bufferjava.lang.IllegalArgumentException - if the value (and trailer) will not fit in the bufferpublic static int formatCheckSumOctalBytes(long value,
byte[] buf,
int offset,
int length)
formatUnsignedOctalString(long, byte[], int, int) to format
the value as an octal string with leading zeros.
The converted number is followed by NUL and then space.value - The value to convertbuf - The destination bufferoffset - The starting offset into the buffer.length - The size of the buffer.java.lang.IllegalArgumentException - if the value (and trailer) will not fit in the bufferpublic static long computeCheckSum(byte[] buf)
buf - The tar entry's header buffer.