Package generic.io

# Class JarWriter

java.lang.Object
generic.io.JarWriter

public class JarWriter extends Object
JarWriter is a class for writing to a jar output stream.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected JarOutputStream`
  `jarOut`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `JarWriter(JarOutputStream jarOut)`
  `JarWriter(JarOutputStream jarOut, String[] excludedExtensions)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `JarOutputStream`
  `getJarOutputStream()`
  Return the jar output stream being used by this JarWriter.
  `static void`
  `main(String[] args)`
  Simple test for the JarWriter
  `boolean`
  `outputEntry(String path, long time, InputStream in, TaskMonitor monitor)`
  Outputs an individual entry to the jar.
  `boolean`
  `outputFile(File baseFile, String jarPath, TaskMonitor monitor)`
  Outputs an individual file to the jar.
  `boolean`
  `outputRecursively(File baseFile, String jarPath, TaskMonitor monitor)`
  Recursively outputs a directory to the jar output stream If baseFile is a file then it is simply output to the jar.

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

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

- ## Field Details

  - ### jarOut

    protected JarOutputStream jarOut

- ## Constructor Details

  - ### JarWriter

    public JarWriter(JarOutputStream jarOut)
    Parameters:
      `jarOut` - the jar file output stream the zip entries are to be written to.

  - ### JarWriter

    public JarWriter(JarOutputStream jarOut, String[] excludedExtensions)

- ## Method Details

  - ### outputFile

    public boolean outputFile(File baseFile, String jarPath, TaskMonitor monitor)
    Outputs an individual file to the jar.
    Parameters:
      `baseFile` - the file to be output
      `jarPath` - the base path to prepend to the file as it is written to the jar output stream.
      `monitor` - cancellable task monitor
    Returns:
      true if file is output to the jar file successfully.

  - ### outputEntry

    public boolean outputEntry(String path, long time, InputStream in, TaskMonitor monitor)
    Outputs an individual entry to the jar. The data input stream will be read until and EOF is read.
    Parameters:
      `path` - entry path within the jar file
      `time` - entry time
      `in` - data input stream
      `monitor` - cancellable task monitor
    Returns:
      true if entry is output to the jar file successfully.

  - ### outputRecursively

    public boolean outputRecursively(File baseFile, String jarPath, TaskMonitor monitor)
    Recursively outputs a directory to the jar output stream If baseFile is a file then it is simply output to the jar.
    Parameters:
      `baseFile` - the file or directory to be output
      `jarPath` - the base path to prepend to the files as they are written to the jar output stream.
    Returns:
      true if all files are recursively output to the jar file.

  - ### getJarOutputStream

    public JarOutputStream getJarOutputStream()
    Return the jar output stream being used by this JarWriter.

  - ### main

    public static void main(String[] args)
    Simple test for the JarWriter
    Parameters:
      `args` - args[0] is the source directory, args[1] is the output filename