Package 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.
-
-
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)
Returnstrue
if the URL represents a path, andfalse
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.
-
-
-
Field Detail
-
instance
private static IOUtils instance
the singleton instance of the utility package.
-
-
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 urlbaseUrl
- 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 urlbaseURL
- the base url, to which theurl
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)
Returnstrue
if the URL represents a path, andfalse
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.
-
-