org.apache.commons.compress.archivers.tar
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.