Package org.jfree.io

Class IOUtils


  • public class IOUtils
    extends java.lang.Object
    The IOUtils provide some IO related helper methods.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static IOUtils instance
      the singleton instance of the utility package.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private IOUtils()
      DefaultConstructor.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method 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.
      private java.lang.String formatName​(java.util.List name, java.lang.String query)
      Transforms the name list back into a single string, separated with "/".
      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.
      private java.lang.String getPath​(java.net.URL url)
      Implements the JDK 1.3 method URL.getPath().
      private java.lang.String getQuery​(java.net.URL url)
      Implements the JDK 1.3 method URL.getPath().
      private boolean isFileStyleProtocol​(java.net.URL url)
      Checks, whether the URL uses a file based protocol.
      private boolean isPath​(java.net.URL baseURL)
      Returns true if the URL represents a path, and false otherwise.
      private boolean isSameService​(java.net.URL url, java.net.URL baseUrl)
      Checks, whether the URL points to the same service.
      boolean isSubDirectory​(java.io.File base, java.io.File child)
      Checks, whether the child directory is a subdirectory of the base directory.
      private java.util.List parseName​(java.lang.String name)
      Parses the given name and returns the name elements as List of Strings.
      private int startsWithUntil​(java.util.List baseName, java.util.List urlName)
      Compares both name lists, and returns the last common index shared between the two lists.
      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
    • Field Detail

      • instance

        private static IOUtils instance
        the singleton instance of the utility package.
    • Constructor Detail

      • IOUtils

        private IOUtils()
        DefaultConstructor.
    • Method Detail

      • getInstance

        public static IOUtils getInstance()
        Gets the singleton instance of the utility package.
        Returns:
        the singleton instance.
      • isFileStyleProtocol

        private boolean isFileStyleProtocol​(java.net.URL url)
        Checks, whether the URL uses a file based protocol.
        Parameters:
        url - the url.
        Returns:
        true, if the url is file based.
      • parseName

        private java.util.List parseName​(java.lang.String name)
        Parses the given name and returns the name elements as List of Strings.
        Parameters:
        name - the name, that should be parsed.
        Returns:
        the parsed name.
      • formatName

        private java.lang.String formatName​(java.util.List name,
                                            java.lang.String query)
        Transforms the name list back into a single string, separated with "/".
        Parameters:
        name - the name list.
        query - the (optional) query for the URL.
        Returns:
        the constructed name.
      • startsWithUntil

        private int startsWithUntil​(java.util.List baseName,
                                    java.util.List urlName)
        Compares both name lists, and returns the last common index shared between the two lists.
        Parameters:
        baseName - the name created using the base url.
        urlName - the target url name.
        Returns:
        the number of shared elements.
      • isSameService

        private boolean isSameService​(java.net.URL url,
                                      java.net.URL baseUrl)
        Checks, whether the URL points to the same service. A service is equal if the protocol, host and port are equal.
        Parameters:
        url - a url
        baseUrl - an other url, that should be compared.
        Returns:
        true, if the urls point to the same host and port and use the same protocol, false otherwise.
      • 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.
      • isPath

        private boolean isPath​(java.net.URL baseURL)
        Returns true if the URL represents a path, and false otherwise.
        Parameters:
        baseURL - the URL.
        Returns:
        A boolean.
      • getQuery

        private java.lang.String getQuery​(java.net.URL url)
        Implements the JDK 1.3 method URL.getPath(). The path is defined as URL.getFile() minus the (optional) query.
        Parameters:
        url - the URL
        Returns:
        the path
      • getPath

        private java.lang.String getPath​(java.net.URL url)
        Implements the JDK 1.3 method URL.getPath(). The path is defined as URL.getFile() minus the (optional) query.
        Parameters:
        url - the URL
        Returns:
        the path
      • 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.