org.apache.tools.tar

Class TarUtils


public class TarUtils
extends java.lang.Object

This class provides static utility methods to work with byte streams.

Method Summary

static long
computeCheckSum(byte[] buf)
Compute the checksum of a tar entry header.
static int
getCheckSumOctalBytes(long value, byte[] buf, int offset, int length)
Parse the checksum octal integer from a header buffer.
static int
getLongOctalBytes(long value, byte[] buf, int offset, int length)
Parse an octal long integer from a header buffer.
static int
getNameBytes(StringBuffer name, byte[] buf, int offset, int length)
Determine the number of bytes in an entry name.
static int
getOctalBytes(long value, byte[] buf, int offset, int length)
Parse an octal integer from a header buffer.
static StringBuffer
parseName(byte[] header, int offset, int length)
Parse an entry name from a header buffer.
static long
parseOctal(byte[] header, int offset, int length)
Parse an octal string from a header buffer.

Method Details

computeCheckSum

public static long computeCheckSum(byte[] buf)
Compute the checksum of a tar entry header.
Parameters:
buf - The tar entry's header buffer.
Returns:
The computed checksum.

getCheckSumOctalBytes

public static int getCheckSumOctalBytes(long value,
                                        byte[] buf,
                                        int offset,
                                        int length)
Parse the checksum octal integer from a header buffer.
Parameters:
value - The header value
offset - The offset into the buffer from which to parse.
length - The number of header bytes to parse.
Returns:
The integer value of the entry's checksum.

getLongOctalBytes

public static int getLongOctalBytes(long value,
                                    byte[] buf,
                                    int offset,
                                    int length)
Parse an octal long integer from a header buffer.
Parameters:
value - The header value
offset - The offset into the buffer from which to parse.
length - The number of header bytes to parse.
Returns:
The long value of the octal bytes.

getNameBytes

public static int getNameBytes(StringBuffer name,
                               byte[] buf,
                               int offset,
                               int length)
Determine the number of bytes in an entry name.
Parameters:
name - The header name from which to parse.
offset - The offset into the buffer from which to parse.
length - The number of header bytes to parse.
Returns:
The number of bytes in a header's entry name.

getOctalBytes

public static int getOctalBytes(long value,
                                byte[] buf,
                                int offset,
                                int length)
Parse an octal integer from a header buffer.
Parameters:
value - The header value
offset - The offset into the buffer from which to parse.
length - The number of header bytes to parse.
Returns:
The integer value of the octal bytes.

parseName

public static StringBuffer parseName(byte[] header,
                                     int offset,
                                     int length)
Parse an entry name from a header buffer.
Parameters:
header - The header buffer from which to parse.
offset - The offset into the buffer from which to parse.
length - The number of header bytes to parse.
Returns:
The header's entry name.

parseOctal

public static long parseOctal(byte[] header,
                              int offset,
                              int length)
Parse an octal string from a header buffer. This is used for the file permission mode value.
Parameters:
header - The header buffer from which to parse.
offset - The offset into the buffer from which to parse.
length - The number of header bytes to parse.
Returns:
The long value of the octal string.

Copyright B) 2000-2006 Apache Software Foundation. All Rights Reserved.