org.apache.commons.compress.archivers.ar
Class ArArchiveOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by org.apache.commons.compress.archivers.ArchiveOutputStream
          extended by org.apache.commons.compress.archivers.ar.ArArchiveOutputStream
All Implemented Interfaces:
Closeable, Flushable

public class ArArchiveOutputStream
extends ArchiveOutputStream

Implements the "ar" archive format as an output stream.


Field Summary
static int LONGFILE_BSD
          BSD ar extensions are used to store long file names in the archive.
static int LONGFILE_ERROR
          Fail if a long file name is required in the archive.
 
Constructor Summary
ArArchiveOutputStream(OutputStream pOut)
           
 
Method Summary
 void close()
          Calls finish if necessary, and then closes the OutputStream
 void closeArchiveEntry()
          Closes the archive entry, writing any trailer information that may be required.
 ArchiveEntry createArchiveEntry(File inputFile, String entryName)
          Create an archive entry using the inputFile and entryName provided.
 void finish()
          Finishes the addition of entries to this stream, without closing it.
 void putArchiveEntry(ArchiveEntry pEntry)
          Writes the headers for an archive entry to the output stream.
 void setLongFileMode(int longFileMode)
          Set the long file mode.
 void write(byte[] b, int off, int len)
           
 
Methods inherited from class org.apache.commons.compress.archivers.ArchiveOutputStream
canWriteEntryData, count, count, getBytesWritten, getCount, write
 
Methods inherited from class java.io.OutputStream
flush, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LONGFILE_ERROR

public static final int LONGFILE_ERROR
Fail if a long file name is required in the archive.

See Also:
Constant Field Values

LONGFILE_BSD

public static final int LONGFILE_BSD
BSD ar extensions are used to store long file names in the archive.

See Also:
Constant Field Values
Constructor Detail

ArArchiveOutputStream

public ArArchiveOutputStream(OutputStream pOut)
Method Detail

setLongFileMode

public void setLongFileMode(int longFileMode)
Set the long file mode. This can be LONGFILE_ERROR(0) or LONGFILE_BSD(1). This specifies the treatment of long file names (names >= 16). Default is LONGFILE_ERROR.

Parameters:
longFileMode - the mode to use
Since:
1.3

closeArchiveEntry

public void closeArchiveEntry()
                       throws IOException
Closes the archive entry, writing any trailer information that may be required.

Specified by:
closeArchiveEntry in class ArchiveOutputStream
Throws:
IOException

putArchiveEntry

public void putArchiveEntry(ArchiveEntry pEntry)
                     throws IOException
Writes the headers for an archive entry to the output stream. The caller must then write the content to the stream and call ArchiveOutputStream.closeArchiveEntry() to complete the process.

Specified by:
putArchiveEntry in class ArchiveOutputStream
Parameters:
pEntry - describes the entry
Throws:
IOException

write

public void write(byte[] b,
                  int off,
                  int len)
           throws IOException
Overrides:
write in class OutputStream
Throws:
IOException

close

public void close()
           throws IOException
Calls finish if necessary, and then closes the OutputStream

Specified by:
close in interface Closeable
Overrides:
close in class OutputStream
Throws:
IOException

createArchiveEntry

public ArchiveEntry createArchiveEntry(File inputFile,
                                       String entryName)
                                throws IOException
Create an archive entry using the inputFile and entryName provided.

Specified by:
createArchiveEntry in class ArchiveOutputStream
Returns:
the ArchiveEntry set up with details from the file
Throws:
IOException

finish

public void finish()
            throws IOException
Finishes the addition of entries to this stream, without closing it. Additional data can be written, if the format supports it. The finish() method throws an Exception if the user forgets to close the entry .

Specified by:
finish in class ArchiveOutputStream
Throws:
IOException


Copyright © 2013 The Apache Software Foundation. All Rights Reserved.