## org.jfree.io
Class IOUtils

    java.lang.Object
      org.jfree.io.IOUtils

    public class IOUtils

extends java.lang.Object

The IOUtils provide some IO related helper methods.

Author:
  Thomas Morgner.

Method Summary
`void` `copyStreams(java.io.InputStream in, java.io.OutputStream out)` Copies the InputStream into the OutputStream, until the end of the stream has been reached.
`void` `copyStreams(java.io.InputStream in, java.io.OutputStream out, int buffersize)` Copies the InputStream into the OutputStream, until the end of the stream has been reached.
`void` `copyWriter(java.io.Reader in, java.io.Writer out)` Copies the contents of the Reader into the Writer, until the end of the stream has been reached.
`void` `copyWriter(java.io.Reader in, java.io.Writer out, int buffersize)` Copies the contents of the Reader into the Writer, until the end of the stream has been reached.
`java.lang.String` `createRelativeURL(java.net.URL url, java.net.URL baseURL)` Creates a relative url by stripping the common parts of the the url.
`java.lang.String` `getFileExtension(java.lang.String file)` Returns the file extension of the given file name.
`java.lang.String` `getFileName(java.net.URL url)` Extracts the file name from the URL.
`static IOUtils` `getInstance()` Gets the singleton instance of the utility package.
`boolean` `isSubDirectory(java.io.File base, java.io.File child)` Checks, whether the child directory is a subdirectory of the base directory.
`java.lang.String` `stripFileExtension(java.lang.String file)` Removes the file extension from the given file name.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### getInstance

    public static IOUtils getInstance()

  Gets the singleton instance of the utility package.

  Returns:
    the singleton instance.

### createRelativeURL

    public java.lang.String createRelativeURL(java.net.URL url,
                                              java.net.URL baseURL)

  Creates a relative url by stripping the common parts of the the url.

  Parameters:
    `url` - the to be stripped url
    `baseURL` - the base url, to which the `url` is relative to.
  Returns:
    the relative url, or the url unchanged, if there is no relation beween both URLs.

### copyStreams

    public void copyStreams(java.io.InputStream in,
                            java.io.OutputStream out)
                     throws java.io.IOException

  Copies the InputStream into the OutputStream, until the end of the stream has been reached. This method uses a buffer of 4096 kbyte.

  Parameters:
    `in` - the inputstream from which to read.
    `out` - the outputstream where the data is written to.
  Throws:
    `java.io.IOException` - if a IOError occurs.

### copyStreams

    public void copyStreams(java.io.InputStream in,
                            java.io.OutputStream out,
                            int buffersize)
                     throws java.io.IOException

  Copies the InputStream into the OutputStream, until the end of the stream has been reached.

  Parameters:
    `in` - the inputstream from which to read.
    `out` - the outputstream where the data is written to.
    `buffersize` - the buffer size.
  Throws:
    `java.io.IOException` - if a IOError occurs.

### copyWriter

    public void copyWriter(java.io.Reader in,
                           java.io.Writer out)
                    throws java.io.IOException

  Copies the contents of the Reader into the Writer, until the end of the stream has been reached. This method uses a buffer of 4096 kbyte.

  Parameters:
    `in` - the reader from which to read.
    `out` - the writer where the data is written to.
  Throws:
    `java.io.IOException` - if a IOError occurs.

### copyWriter

    public void copyWriter(java.io.Reader in,
                           java.io.Writer out,
                           int buffersize)
                    throws java.io.IOException

  Copies the contents of the Reader into the Writer, until the end of the stream has been reached.

  Parameters:
    `in` - the reader from which to read.
    `out` - the writer where the data is written to.
    `buffersize` - the buffer size.
  Throws:
    `java.io.IOException` - if a IOError occurs.

### getFileName

    public java.lang.String getFileName(java.net.URL url)

  Extracts the file name from the URL.

  Parameters:
    `url` - the url.
  Returns:
    the extracted filename.

### stripFileExtension

    public java.lang.String stripFileExtension(java.lang.String file)

  Removes the file extension from the given file name.

  Parameters:
    `file` - the file name.
  Returns:
    the file name without the file extension.

### getFileExtension

    public java.lang.String getFileExtension(java.lang.String file)

  Returns the file extension of the given file name. The returned value will contain the dot.

  Parameters:
    `file` - the file name.
  Returns:
    the file extension.

### isSubDirectory

    public boolean isSubDirectory(java.io.File base,
                                  java.io.File child)
                           throws java.io.IOException

  Checks, whether the child directory is a subdirectory of the base directory.

  Parameters:
    `base` - the base directory.
    `child` - the suspected child directory.
  Returns:
    true, if the child is a subdirectory of the base directory.
  Throws:
    `java.io.IOException` - if an IOError occured during the test.