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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.