Package org.apache.commons.compress.archivers.dump

# Class DumpArchiveInputStream

java.lang.Object
java.io.InputStream
java.io.FilterInputStream
org.apache.commons.compress.archivers.ArchiveInputStream<DumpArchiveEntry>
org.apache.commons.compress.archivers.dump.DumpArchiveInputStream

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

public class DumpArchiveInputStream extends ArchiveInputStream<DumpArchiveEntry>
The DumpArchiveInputStream reads a UNIX dump archive as an InputStream. Methods are provided to position at each successive entry in the archive, and the read each entry as a normal input stream using read().

There doesn't seem to exist a hint on the encoding of string values in any piece documentation. Given the main purpose of dump/restore is backing up a system it seems very likely the format uses the current default encoding of the system.

Since:
  1.3
This class is not thread-safe

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected org.apache.commons.compress.archivers.dump.TapeInputStream`
  `raw`

  ### Fields inherited from class java.io.FilterInputStream

  `in`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DumpArchiveInputStream(InputStream is)`
  Constructor using the platform's default encoding for file names.
  `DumpArchiveInputStream(InputStream is, String encoding)`
  Constructs a new instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  Closes the stream for this entry.
  `long`
  `getBytesRead()`
  Gets the current number of bytes read from this stream.
  `int`
  `getCount()`
  Deprecated.
  `DumpArchiveEntry`
  `getNextDumpEntry()`
  Deprecated.
  Use `getNextEntry()`.
  `DumpArchiveEntry`
  `getNextEntry()`
  Gets the next Archive Entry in this Stream.
  `DumpArchiveSummary`
  `getSummary()`
  Gets the archive summary information.
  `static boolean`
  `matches(byte[] buffer, int length)`
  Look at the first few bytes of the file to decide if it's a dump archive.
  `int`
  `read(byte[] buf, int off, int len)`
  Reads bytes from the current dump archive entry.

  ### Methods inherited from class org.apache.commons.compress.archivers.ArchiveInputStream

  `canReadEntryData, count, count, getCharset, mark, markSupported, pushedBackBytes, read, reset`

  ### Methods inherited from class java.io.FilterInputStream

  `available, read, skip`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### raw

    protected org.apache.commons.compress.archivers.dump.TapeInputStream raw

- ## Constructor Details

  - ### DumpArchiveInputStream

    public DumpArchiveInputStream(InputStream is) throws ArchiveException
    Constructor using the platform's default encoding for file names.
    Parameters:
      `is` - stream to read from
    Throws:
      `ArchiveException` - on error

  - ### DumpArchiveInputStream

    public DumpArchiveInputStream(InputStream is, String encoding) throws ArchiveException
    Constructs a new instance.
    Parameters:
      `is` - stream to read from
      `encoding` - the encoding to use for file names, use null for the platform's default encoding
    Throws:
      `ArchiveException` - on error
    Since:
      1.6

- ## Method Details

  - ### matches

    public static boolean matches(byte[] buffer, int length)
    Look at the first few bytes of the file to decide if it's a dump archive. With 32 bytes we can look at the magic value, with a full 1k we can verify the checksum.
    Parameters:
      `buffer` - data to match
      `length` - length of data
    Returns:
      whether the buffer seems to contain dump data

  - ### close

    public void close() throws IOException
    Closes the stream for this entry.
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `Closeable`
    Overrides:
      `close` in class `FilterInputStream`
    Throws:
      `IOException`

  - ### getBytesRead

    public long getBytesRead()
    Description copied from class: `ArchiveInputStream`
    Gets the current number of bytes read from this stream.
    Overrides:
      `getBytesRead` in class `ArchiveInputStream<DumpArchiveEntry>`
    Returns:
      the number of read bytes

  - ### getCount

    @Deprecated public int getCount()
    Deprecated.
    Description copied from class: `ArchiveInputStream`
    Gets the current number of bytes read from this stream.
    Overrides:
      `getCount` in class `ArchiveInputStream<DumpArchiveEntry>`
    Returns:
      the number of read bytes

  - ### getNextDumpEntry

    @Deprecated public DumpArchiveEntry getNextDumpEntry() throws IOException
    Deprecated.
    Use `getNextEntry()`.
    Reads the next entry.
    Returns:
      the next entry
    Throws:
      `IOException` - on error

  - ### getNextEntry

    public DumpArchiveEntry getNextEntry() throws IOException
    Description copied from class: `ArchiveInputStream`
    Gets the next Archive Entry in this Stream.
    Specified by:
      `getNextEntry` in class `ArchiveInputStream<DumpArchiveEntry>`
    Returns:
      the next entry, or `null` if there are no more entries
    Throws:
      `IOException` - if the next entry could not be read

  - ### getSummary

    public DumpArchiveSummary getSummary()
    Gets the archive summary information.
    Returns:
      the summary

  - ### read

    public int read(byte[] buf, int off, int len) throws IOException
    Reads bytes from the current dump archive entry. This method is aware of the boundaries of the current entry in the archive and will deal with them as if they were this stream's start and EOF.
    Overrides:
      `read` in class `FilterInputStream`
    Parameters:
      `buf` - The buffer into which to place bytes read.
      `off` - The offset at which to place bytes read.
      `len` - The number of bytes to read.
    Returns:
      The number of bytes read, or -1 at EOF.
    Throws:
      `IOException` - on error