org.codehaus.groovy.runtime
Class ResourceGroovyMethods

java.lang.Object
  extended by org.codehaus.groovy.runtime.DefaultGroovyMethodsSupport
      extended by org.codehaus.groovy.runtime.ResourceGroovyMethods

public class ResourceGroovyMethods
extends DefaultGroovyMethodsSupport

This class defines new groovy methods for Readers, Writers, InputStreams and OutputStreams which appear on normal JDK classes inside the Groovy environment. Static methods are used with the first parameter being the destination class, i.e. public static T eachLine(InputStream self, Closure c) provides a eachLine(Closure c) method for InputStream.

NOTE: While this class contains many 'public' static methods, it is primarily regarded as an internal class (its internal package name suggests this also). We value backwards compatibility of these methods when used within Groovy but value less backwards compatibility at the Java method call level. I.e. future versions of Groovy may remove or move a method call in this file but would normally aim to keep the method available from within Groovy.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.codehaus.groovy.runtime.DefaultGroovyMethodsSupport
DefaultGroovyMethodsSupport.RangeInfo
 
Constructor Summary
ResourceGroovyMethods()
           
 
Method Summary
static void append(java.io.File file, byte[] bytes)
          Append bytes to the end of a File.
static void append(java.io.File self, java.io.InputStream stream)
          Append binary data to the file.
static void append(java.io.File file, java.lang.Object text)
          Append the text at the end of the File.
static void append(java.io.File file, java.lang.Object text, java.lang.String charset)
          Append the text at the end of the File, using a specified encoding.
static
<T> T
asType(java.io.File f, java.lang.Class<T> c)
          Converts this File to a Writable or delegates to default DefaultGroovyMethods.asType(java.lang.Object, java.lang.Class).
static java.io.File asWritable(java.io.File file)
          Converts this File to a Writable.
static java.io.File asWritable(java.io.File file, java.lang.String encoding)
          Allows a file to return a Writable implementation that can output itself to a Writer stream.
static boolean deleteDir(java.io.File self)
          Deletes a directory with all contained files and subdirectories.
static void eachByte(java.io.File self, Closure closure)
          Traverse through each byte of this File
static void eachByte(java.io.File self, int bufferLen, Closure closure)
          Traverse through the bytes of this File, bufferLen bytes at a time.
static void eachByte(java.net.URL url, Closure closure)
          Reads the InputStream from this URL, passing each byte to the given closure.
static void eachByte(java.net.URL url, int bufferLen, Closure closure)
          Reads the InputStream from this URL, passing a byte[] and a number of bytes to the given closure.
static void eachDir(java.io.File self, Closure closure)
          Invokes the closure for each subdirectory in this directory, ignoring regular files.
static void eachDirMatch(java.io.File self, java.lang.Object nameFilter, Closure closure)
          Invokes the closure for each subdirectory whose name (dir.name) matches the given nameFilter in the given directory - calling the DefaultGroovyMethods.isCase(java.lang.Object, java.lang.Object) method to determine if a match occurs.
static void eachDirRecurse(java.io.File self, Closure closure)
          Invokes the closure for each descendant directory of this directory.
static void eachFile(java.io.File self, Closure closure)
          Invokes the closure for each 'child' file in this 'parent' folder/directory.
static void eachFile(java.io.File self, FileType fileType, Closure closure)
          Invokes the closure for each 'child' file in this 'parent' folder/directory.
static void eachFileMatch(java.io.File self, FileType fileType, java.lang.Object nameFilter, Closure closure)
          Invokes the closure for each file whose name (file.name) matches the given nameFilter in the given directory - calling the DefaultGroovyMethods.isCase(java.lang.Object, java.lang.Object) method to determine if a match occurs.
static void eachFileMatch(java.io.File self, java.lang.Object nameFilter, Closure closure)
          Invokes the closure for each file whose name (file.name) matches the given nameFilter in the given directory - calling the DefaultGroovyMethods.isCase(java.lang.Object, java.lang.Object) method to determine if a match occurs.
static void eachFileRecurse(java.io.File self, Closure closure)
          Invokes the closure for each descendant file in this directory.
static void eachFileRecurse(java.io.File self, FileType fileType, Closure closure)
          Invokes the closure for each descendant file in this directory.
static
<T> T
eachLine(java.io.File self, Closure<T> closure)
          Iterates through this file line by line.
static
<T> T
eachLine(java.io.File self, int firstLine, Closure<T> closure)
          Iterates through this file line by line.
static
<T> T
eachLine(java.io.File self, java.lang.String charset, Closure<T> closure)
          Iterates through this file line by line.
static
<T> T
eachLine(java.io.File self, java.lang.String charset, int firstLine, Closure<T> closure)
          Iterates through this file line by line.
static
<T> T
eachLine(java.net.URL url, Closure<T> closure)
          Iterates through the lines read from the URL's associated input stream passing each line to the given 1 or 2 arg closure.
static
<T> T
eachLine(java.net.URL url, int firstLine, Closure<T> closure)
          Iterates through the lines read from the URL's associated input stream passing each line to the given 1 or 2 arg closure.
static
<T> T
eachLine(java.net.URL url, java.lang.String charset, Closure<T> closure)
          Iterates through the lines read from the URL's associated input stream passing each line to the given 1 or 2 arg closure.
static
<T> T
eachLine(java.net.URL url, java.lang.String charset, int firstLine, Closure<T> closure)
          Iterates through the lines read from the URL's associated input stream passing each line to the given 1 or 2 arg closure.
static void eachObject(java.io.File self, Closure closure)
          Iterates through the given file object by object.
static Writable filterLine(java.io.File self, Closure closure)
          Filters the lines of a File and creates a Writable in return to stream the filtered lines.
static Writable filterLine(java.io.File self, java.lang.String charset, Closure closure)
          Filters the lines of a File and creates a Writable in return to stream the filtered lines.
static void filterLine(java.io.File self, java.io.Writer writer, Closure closure)
          Filter the lines from this File, and write them to the given writer based on the given closure predicate.
static void filterLine(java.io.File self, java.io.Writer writer, java.lang.String charset, Closure closure)
          Filter the lines from this File, and write them to the given writer based on the given closure predicate.
static Writable filterLine(java.net.URL self, Closure predicate)
          Filter lines from a URL using a closure predicate.
static Writable filterLine(java.net.URL self, java.lang.String charset, Closure predicate)
          Filter lines from a URL using a closure predicate.
static void filterLine(java.net.URL self, java.io.Writer writer, Closure predicate)
          Uses a closure to filter lines from this URL and pass them to the given writer.
static void filterLine(java.net.URL self, java.io.Writer writer, java.lang.String charset, Closure predicate)
          Uses a closure to filter lines from this URL and pass them to the given writer.
static byte[] getBytes(java.io.File file)
          Read the content of the File and returns it as a byte[].
static byte[] getBytes(java.net.URL url)
          Read the content of this URL and returns it as a byte[].
static java.lang.String getText(java.io.File file)
          Read the content of the File and returns it as a String.
static java.lang.String getText(java.io.File file, java.lang.String charset)
          Read the content of the File using the specified encoding and return it as a String.
static java.lang.String getText(java.net.URL url)
          Read the content of this URL and returns it as a String.
static java.lang.String getText(java.net.URL url, java.util.Map parameters)
          Read the content of this URL and returns it as a String.
static java.lang.String getText(java.net.URL url, java.util.Map parameters, java.lang.String charset)
          Read the data from this URL and return it as a String.
static java.lang.String getText(java.net.URL url, java.lang.String charset)
          Read the data from this URL and return it as a String.
static java.io.File leftShift(java.io.File file, byte[] bytes)
          Write bytes to a File.
static java.io.File leftShift(java.io.File file, java.io.InputStream data)
          Append binary data to the file.
static java.io.File leftShift(java.io.File file, java.lang.Object text)
          Write the text to the File.
static java.io.DataInputStream newDataInputStream(java.io.File file)
          Create a data input stream for this file
static java.io.DataOutputStream newDataOutputStream(java.io.File file)
          Creates a new data output stream for this file.
static java.io.BufferedInputStream newInputStream(java.io.File file)
          Creates a buffered input stream for this file.
static java.io.BufferedInputStream newInputStream(java.net.URL url)
          Creates a buffered input stream for this URL.
static java.io.BufferedInputStream newInputStream(java.net.URL url, java.util.Map parameters)
          Creates a buffered input stream for this URL.
static java.io.ObjectInputStream newObjectInputStream(java.io.File file)
          Create an object input stream for this file.
static java.io.ObjectInputStream newObjectInputStream(java.io.File file, java.lang.ClassLoader classLoader)
          Create an object input stream for this file using the given class loader.
static java.io.ObjectOutputStream newObjectOutputStream(java.io.File file)
          Create an object output stream for this file.
static java.io.BufferedOutputStream newOutputStream(java.io.File file)
          Create a buffered output stream for this file.
static java.io.PrintWriter newPrintWriter(java.io.File file)
          Create a new PrintWriter for this file.
static java.io.PrintWriter newPrintWriter(java.io.File file, java.lang.String charset)
          Create a new PrintWriter for this file, using specified charset.
static java.io.BufferedReader newReader(java.io.File file)
          Create a buffered reader for this file.
static java.io.BufferedReader newReader(java.io.File file, java.lang.String charset)
          Create a buffered reader for this file, using the specified charset as the encoding.
static java.io.BufferedReader newReader(java.net.URL url)
          Creates a buffered reader for this URL.
static java.io.BufferedReader newReader(java.net.URL url, java.util.Map parameters)
          Creates a buffered reader for this URL.
static java.io.BufferedReader newReader(java.net.URL url, java.util.Map parameters, java.lang.String charset)
          Creates a buffered reader for this URL using the given encoding.
static java.io.BufferedReader newReader(java.net.URL url, java.lang.String charset)
          Creates a buffered reader for this URL using the given encoding.
static java.io.BufferedWriter newWriter(java.io.File file)
          Create a buffered writer for this file.
static java.io.BufferedWriter newWriter(java.io.File file, boolean append)
          Creates a buffered writer for this file, optionally appending to the existing file content.
static java.io.BufferedWriter newWriter(java.io.File file, java.lang.String charset)
          Creates a buffered writer for this file, writing data using the given encoding.
static java.io.BufferedWriter newWriter(java.io.File file, java.lang.String charset, boolean append)
          Helper method to create a buffered writer for a file.
static byte[] readBytes(java.io.File file)
          Reads the content of the file into a byte array.
static java.util.List<java.lang.String> readLines(java.io.File file)
          Reads the file into a list of Strings, with one item for each line.
static java.util.List<java.lang.String> readLines(java.io.File file, java.lang.String charset)
          Reads the file into a list of Strings, with one item for each line.
static java.util.List<java.lang.String> readLines(java.net.URL self)
          Reads the URL contents into a list, with one element for each line.
static java.util.List<java.lang.String> readLines(java.net.URL self, java.lang.String charset)
          Reads the URL contents into a list, with one element for each line.
static boolean renameTo(java.io.File self, java.lang.String newPathName)
          Renames the file.
static void setBytes(java.io.File file, byte[] bytes)
          Write the bytes from the byte array to the File.
static void setText(java.io.File file, java.lang.String text)
          Synonym for write(text) allowing file.text = 'foo'.
static void setText(java.io.File file, java.lang.String text, java.lang.String charset)
          Synonym for write(text, charset) allowing: myFile.setText('some text', charset) or with some help from ExpandoMetaClass, you could do something like: myFile.metaClass.setText = { String s -> delegate.setText(s, 'UTF-8') } myfile.text = 'some text'
static long size(java.io.File self)
          Provide the standard Groovy size() method for File.
static
<T> T
splitEachLine(java.io.File self, java.util.regex.Pattern pattern, Closure<T> closure)
          Iterates through this file line by line, splitting each line using the given separator Pattern.
static
<T> T
splitEachLine(java.io.File self, java.util.regex.Pattern pattern, java.lang.String charset, Closure<T> closure)
          Iterates through this file line by line, splitting each line using the given regex separator Pattern.
static
<T> T
splitEachLine(java.io.File self, java.lang.String regex, Closure<T> closure)
          Iterates through this file line by line, splitting each line using the given regex separator.
static
<T> T
splitEachLine(java.io.File self, java.lang.String regex, java.lang.String charset, Closure<T> closure)
          Iterates through this file line by line, splitting each line using the given regex separator.
static
<T> T
splitEachLine(java.net.URL self, java.util.regex.Pattern pattern, Closure<T> closure)
          Iterates through the input stream associated with this URL line by line, splitting each line using the given regex separator Pattern.
static
<T> T
splitEachLine(java.net.URL self, java.util.regex.Pattern pattern, java.lang.String charset, Closure<T> closure)
          Iterates through the input stream associated with this URL line by line, splitting each line using the given regex separator Pattern.
static
<T> T
splitEachLine(java.net.URL self, java.lang.String regex, Closure<T> closure)
          Iterates through the input stream associated with this URL line by line, splitting each line using the given regex separator.
static
<T> T
splitEachLine(java.net.URL self, java.lang.String regex, java.lang.String charset, Closure<T> closure)
          Iterates through the input stream associated with this URL line by line, splitting each line using the given regex separator.
static java.net.URI toURI(java.lang.CharSequence self)
          Transforms a CharSequence representing a URI into a URI object.
static java.net.URI toURI(java.lang.String self)
          Transforms a String representing a URI into a URI object.
static java.net.URL toURL(java.lang.CharSequence self)
          Transforms a CharSequence representing a URL into a URL object.
static java.net.URL toURL(java.lang.String self)
          Transforms a String representing a URL into a URL object.
static void traverse(java.io.File self, Closure closure)
          Invokes the closure for each descendant file in this directory tree.
static void traverse(java.io.File self, java.util.Map<java.lang.String,java.lang.Object> options)
          Invokes the closure specified with key 'visit' in the options Map for each descendant file in this directory tree.
static void traverse(java.io.File self, java.util.Map<java.lang.String,java.lang.Object> options, Closure closure)
          Invokes closure for each descendant file in this directory tree.
static
<T> T
withDataInputStream(java.io.File file, Closure<T> closure)
          Create a new DataInputStream for this file and passes it into the closure.
static
<T> T
withDataOutputStream(java.io.File file, Closure<T> closure)
          Create a new DataOutputStream for this file and passes it into the closure.
static java.lang.Object withInputStream(java.io.File file, Closure closure)
          Create a new InputStream for this file and passes it into the closure.
static
<T> T
withInputStream(java.net.URL url, Closure<T> closure)
          Creates a new InputStream for this URL and passes it into the closure.
static
<T> T
withObjectInputStream(java.io.File file, java.lang.ClassLoader classLoader, Closure<T> closure)
          Create a new ObjectInputStream for this file associated with the given class loader and pass it to the closure.
static
<T> T
withObjectInputStream(java.io.File file, Closure<T> closure)
          Create a new ObjectInputStream for this file and pass it to the closure.
static
<T> T
withObjectOutputStream(java.io.File file, Closure<T> closure)
          Create a new ObjectOutputStream for this file and then pass it to the closure.
static java.lang.Object withOutputStream(java.io.File file, Closure closure)
          Creates a new OutputStream for this file and passes it into the closure.
static
<T> T
withPrintWriter(java.io.File file, Closure<T> closure)
          Create a new PrintWriter for this file which is then passed it into the given closure.
static
<T> T
withPrintWriter(java.io.File file, java.lang.String charset, Closure<T> closure)
          Create a new PrintWriter with a specified charset for this file.
static
<T> T
withReader(java.io.File file, Closure<T> closure)
          Create a new BufferedReader for this file and then passes it into the closure, ensuring the reader is closed after the closure returns.
static
<T> T
withReader(java.io.File file, java.lang.String charset, Closure<T> closure)
          Create a new BufferedReader for this file using the specified charset and then passes it into the closure, ensuring the reader is closed after the closure returns.
static
<T> T
withReader(java.net.URL url, Closure<T> closure)
          Helper method to create a new BufferedReader for a URL and then passes it to the closure.
static
<T> T
withReader(java.net.URL url, java.lang.String charset, Closure<T> closure)
          Helper method to create a new Reader for a URL and then passes it to the closure.
static
<T> T
withWriter(java.io.File file, Closure<T> closure)
          Creates a new BufferedWriter for this file, passes it to the closure, and ensures the stream is flushed and closed after the closure returns.
static
<T> T
withWriter(java.io.File file, java.lang.String charset, Closure<T> closure)
          Creates a new BufferedWriter for this file, passes it to the closure, and ensures the stream is flushed and closed after the closure returns.
static
<T> T
withWriterAppend(java.io.File file, Closure<T> closure)
          Create a new BufferedWriter for this file in append mode.
static
<T> T
withWriterAppend(java.io.File file, java.lang.String charset, Closure<T> closure)
          Create a new BufferedWriter which will append to this file.
static void write(java.io.File file, java.lang.String text)
          Write the text to the File.
static void write(java.io.File file, java.lang.String text, java.lang.String charset)
          Write the text to the File, using the specified encoding.
 
Methods inherited from class org.codehaus.groovy.runtime.DefaultGroovyMethodsSupport
cloneSimilarCollection, cloneSimilarMap, closeQuietly, closeWithWarning, createSimilarArray, createSimilarCollection, createSimilarCollection, createSimilarList, createSimilarMap, createSimilarOrDefaultCollection, createSimilarSet, normaliseIndex, sameType, subListBorders, subListBorders
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ResourceGroovyMethods

public ResourceGroovyMethods()
Method Detail

size

public static long size(java.io.File self)
Provide the standard Groovy size() method for File.

Parameters:
self - a file object
Returns:
the file's size (length)
Since:
1.5.0

newObjectOutputStream

public static java.io.ObjectOutputStream newObjectOutputStream(java.io.File file)
                                                        throws java.io.IOException
Create an object output stream for this file.

Parameters:
file - a file
Returns:
an object output stream
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.0

withObjectOutputStream

public static <T> T withObjectOutputStream(java.io.File file,
                                           Closure<T> closure)
                                throws java.io.IOException
Create a new ObjectOutputStream for this file and then pass it to the closure. This method ensures the stream is closed after the closure returns.

Parameters:
file - a File
closure - a closure
Returns:
the value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.0
See Also:
IOGroovyMethods.withStream(java.io.OutputStream, groovy.lang.Closure)

newObjectInputStream

public static java.io.ObjectInputStream newObjectInputStream(java.io.File file)
                                                      throws java.io.IOException
Create an object input stream for this file.

Parameters:
file - a file
Returns:
an object input stream
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.0

newObjectInputStream

public static java.io.ObjectInputStream newObjectInputStream(java.io.File file,
                                                             java.lang.ClassLoader classLoader)
                                                      throws java.io.IOException
Create an object input stream for this file using the given class loader.

Parameters:
file - a file
classLoader - the class loader to use when loading the class
Returns:
an object input stream
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.0

eachObject

public static void eachObject(java.io.File self,
                              Closure closure)
                       throws java.io.IOException,
                              java.lang.ClassNotFoundException
Iterates through the given file object by object.

Parameters:
self - a File
closure - a closure
Throws:
java.io.IOException - if an IOException occurs.
java.lang.ClassNotFoundException - if the class is not found.
Since:
1.0
See Also:
IOGroovyMethods.eachObject(java.io.ObjectInputStream, groovy.lang.Closure)

withObjectInputStream

public static <T> T withObjectInputStream(java.io.File file,
                                          Closure<T> closure)
                               throws java.io.IOException
Create a new ObjectInputStream for this file and pass it to the closure. This method ensures the stream is closed after the closure returns.

Parameters:
file - a File
closure - a closure
Returns:
the value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.2
See Also:
IOGroovyMethods.withStream(java.io.InputStream, groovy.lang.Closure)

withObjectInputStream

public static <T> T withObjectInputStream(java.io.File file,
                                          java.lang.ClassLoader classLoader,
                                          Closure<T> closure)
                               throws java.io.IOException
Create a new ObjectInputStream for this file associated with the given class loader and pass it to the closure. This method ensures the stream is closed after the closure returns.

Parameters:
file - a File
classLoader - the class loader to use when loading the class
closure - a closure
Returns:
the value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.2
See Also:
IOGroovyMethods.withStream(java.io.InputStream, groovy.lang.Closure)

eachLine

public static <T> T eachLine(java.io.File self,
                             Closure<T> closure)
                  throws java.io.IOException
Iterates through this file line by line. Each line is passed to the given 1 or 2 arg closure. The file is read using a reader which is closed before this method returns.

Parameters:
self - a File
closure - a closure (arg 1 is line, optional arg 2 is line number starting at line 1)
Returns:
the last value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.5
See Also:
eachLine(java.io.File, int, groovy.lang.Closure)

eachLine

public static <T> T eachLine(java.io.File self,
                             java.lang.String charset,
                             Closure<T> closure)
                  throws java.io.IOException
Iterates through this file line by line. Each line is passed to the given 1 or 2 arg closure. The file is read using a reader which is closed before this method returns.

Parameters:
self - a File
charset - opens the file with a specified charset
closure - a closure (arg 1 is line, optional arg 2 is line number starting at line 1)
Returns:
the last value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.6.8
See Also:
eachLine(java.io.File, java.lang.String, int, groovy.lang.Closure)

eachLine

public static <T> T eachLine(java.io.File self,
                             int firstLine,
                             Closure<T> closure)
                  throws java.io.IOException
Iterates through this file line by line. Each line is passed to the given 1 or 2 arg closure. The file is read using a reader which is closed before this method returns.

Parameters:
self - a File
firstLine - the line number value used for the first line (default is 1, set to 0 to start counting from 0)
closure - a closure (arg 1 is line, optional arg 2 is line number)
Returns:
the last value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.7
See Also:
IOGroovyMethods.eachLine(java.io.Reader, int, groovy.lang.Closure)

eachLine

public static <T> T eachLine(java.io.File self,
                             java.lang.String charset,
                             int firstLine,
                             Closure<T> closure)
                  throws java.io.IOException
Iterates through this file line by line. Each line is passed to the given 1 or 2 arg closure. The file is read using a reader which is closed before this method returns.

Parameters:
self - a File
charset - opens the file with a specified charset
firstLine - the line number value used for the first line (default is 1, set to 0 to start counting from 0)
closure - a closure (arg 1 is line, optional arg 2 is line number)
Returns:
the last value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.6.8
See Also:
IOGroovyMethods.eachLine(java.io.Reader, int, groovy.lang.Closure)

eachLine

public static <T> T eachLine(java.net.URL url,
                             Closure<T> closure)
                  throws java.io.IOException
Iterates through the lines read from the URL's associated input stream passing each line to the given 1 or 2 arg closure. The stream is closed before this method returns.

Parameters:
url - a URL to open and read
closure - a closure to apply on each line (arg 1 is line, optional arg 2 is line number starting at line 1)
Returns:
the last value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.6
See Also:
eachLine(java.net.URL, int, groovy.lang.Closure)

eachLine

public static <T> T eachLine(java.net.URL url,
                             int firstLine,
                             Closure<T> closure)
                  throws java.io.IOException
Iterates through the lines read from the URL's associated input stream passing each line to the given 1 or 2 arg closure. The stream is closed before this method returns.

Parameters:
url - a URL to open and read
firstLine - the line number value used for the first line (default is 1, set to 0 to start counting from 0)
closure - a closure to apply on each line (arg 1 is line, optional arg 2 is line number)
Returns:
the last value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.7
See Also:
IOGroovyMethods.eachLine(java.io.InputStream, int, groovy.lang.Closure)

eachLine

public static <T> T eachLine(java.net.URL url,
                             java.lang.String charset,
                             Closure<T> closure)
                  throws java.io.IOException
Iterates through the lines read from the URL's associated input stream passing each line to the given 1 or 2 arg closure. The stream is closed before this method returns.

Parameters:
url - a URL to open and read
charset - opens the stream with a specified charset
closure - a closure to apply on each line (arg 1 is line, optional arg 2 is line number starting at line 1)
Returns:
the last value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.6
See Also:
eachLine(java.net.URL, java.lang.String, int, groovy.lang.Closure)

eachLine

public static <T> T eachLine(java.net.URL url,
                             java.lang.String charset,
                             int firstLine,
                             Closure<T> closure)
                  throws java.io.IOException
Iterates through the lines read from the URL's associated input stream passing each line to the given 1 or 2 arg closure. The stream is closed before this method returns.

Parameters:
url - a URL to open and read
charset - opens the stream with a specified charset
firstLine - the line number value used for the first line (default is 1, set to 0 to start counting from 0)
closure - a closure to apply on each line (arg 1 is line, optional arg 2 is line number)
Returns:
the last value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.7
See Also:
IOGroovyMethods.eachLine(java.io.Reader, int, groovy.lang.Closure)

splitEachLine

public static <T> T splitEachLine(java.io.File self,
                                  java.lang.String regex,
                                  Closure<T> closure)
                       throws java.io.IOException
Iterates through this file line by line, splitting each line using the given regex separator. For each line, the given closure is called with a single parameter being the list of strings computed by splitting the line around matches of the given regular expression. Finally the resources used for processing the file are closed.

Parameters:
self - a File
regex - the delimiting regular expression
closure - a closure
Returns:
the last value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
java.util.regex.PatternSyntaxException - if the regular expression's syntax is invalid
Since:
1.5.5
See Also:
IOGroovyMethods.splitEachLine(java.io.Reader, java.lang.String, groovy.lang.Closure)

splitEachLine

public static <T> T splitEachLine(java.io.File self,
                                  java.util.regex.Pattern pattern,
                                  Closure<T> closure)
                       throws java.io.IOException
Iterates through this file line by line, splitting each line using the given separator Pattern. For each line, the given closure is called with a single parameter being the list of strings computed by splitting the line around matches of the given regular expression Pattern. Finally the resources used for processing the file are closed.

Parameters:
self - a File
pattern - the regular expression Pattern for the delimiter
closure - a closure
Returns:
the last value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.6.8
See Also:
IOGroovyMethods.splitEachLine(java.io.Reader, java.util.regex.Pattern, groovy.lang.Closure)

splitEachLine

public static <T> T splitEachLine(java.io.File self,
                                  java.lang.String regex,
                                  java.lang.String charset,
                                  Closure<T> closure)
                       throws java.io.IOException
Iterates through this file line by line, splitting each line using the given regex separator. For each line, the given closure is called with a single parameter being the list of strings computed by splitting the line around matches of the given regular expression. Finally the resources used for processing the file are closed.

Parameters:
self - a File
regex - the delimiting regular expression
charset - opens the file with a specified charset
closure - a closure
Returns:
the last value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
java.util.regex.PatternSyntaxException - if the regular expression's syntax is invalid
Since:
1.6.8
See Also:
IOGroovyMethods.splitEachLine(java.io.Reader, java.lang.String, groovy.lang.Closure)

splitEachLine

public static <T> T splitEachLine(java.io.File self,
                                  java.util.regex.Pattern pattern,
                                  java.lang.String charset,
                                  Closure<T> closure)
                       throws java.io.IOException
Iterates through this file line by line, splitting each line using the given regex separator Pattern. For each line, the given closure is called with a single parameter being the list of strings computed by splitting the line around matches of the given regular expression. Finally the resources used for processing the file are closed.

Parameters:
self - a File
pattern - the regular expression Pattern for the delimiter
charset - opens the file with a specified charset
closure - a closure
Returns:
the last value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.6.8
See Also:
IOGroovyMethods.splitEachLine(java.io.Reader, java.util.regex.Pattern, groovy.lang.Closure)

splitEachLine

public static <T> T splitEachLine(java.net.URL self,
                                  java.lang.String regex,
                                  Closure<T> closure)
                       throws java.io.IOException
Iterates through the input stream associated with this URL line by line, splitting each line using the given regex separator. For each line, the given closure is called with a single parameter being the list of strings computed by splitting the line around matches of the given regular expression. Finally the resources used for processing the URL are closed.

Parameters:
self - a URL to open and read
regex - the delimiting regular expression
closure - a closure
Returns:
the last value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
java.util.regex.PatternSyntaxException - if the regular expression's syntax is invalid
Since:
1.6.8
See Also:
IOGroovyMethods.splitEachLine(java.io.Reader, java.lang.String, groovy.lang.Closure)

splitEachLine

public static <T> T splitEachLine(java.net.URL self,
                                  java.util.regex.Pattern pattern,
                                  Closure<T> closure)
                       throws java.io.IOException
Iterates through the input stream associated with this URL line by line, splitting each line using the given regex separator Pattern. For each line, the given closure is called with a single parameter being the list of strings computed by splitting the line around matches of the given regular expression. Finally the resources used for processing the URL are closed.

Parameters:
self - a URL to open and read
pattern - the regular expression Pattern for the delimiter
closure - a closure
Returns:
the last value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.6.8
See Also:
IOGroovyMethods.splitEachLine(java.io.Reader, java.util.regex.Pattern, groovy.lang.Closure)

splitEachLine

public static <T> T splitEachLine(java.net.URL self,
                                  java.lang.String regex,
                                  java.lang.String charset,
                                  Closure<T> closure)
                       throws java.io.IOException
Iterates through the input stream associated with this URL line by line, splitting each line using the given regex separator. For each line, the given closure is called with a single parameter being the list of strings computed by splitting the line around matches of the given regular expression. Finally the resources used for processing the URL are closed.

Parameters:
self - a URL to open and read
regex - the delimiting regular expression
charset - opens the file with a specified charset
closure - a closure
Returns:
the last value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
java.util.regex.PatternSyntaxException - if the regular expression's syntax is invalid
Since:
1.6.8
See Also:
IOGroovyMethods.splitEachLine(java.io.Reader, java.lang.String, groovy.lang.Closure)

splitEachLine

public static <T> T splitEachLine(java.net.URL self,
                                  java.util.regex.Pattern pattern,
                                  java.lang.String charset,
                                  Closure<T> closure)
                       throws java.io.IOException
Iterates through the input stream associated with this URL line by line, splitting each line using the given regex separator Pattern. For each line, the given closure is called with a single parameter being the list of strings computed by splitting the line around matches of the given regular expression. Finally the resources used for processing the URL are closed.

Parameters:
self - a URL to open and read
pattern - the regular expression Pattern for the delimiter
charset - opens the file with a specified charset
closure - a closure
Returns:
the last value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.6.8
See Also:
IOGroovyMethods.splitEachLine(java.io.Reader, java.util.regex.Pattern, groovy.lang.Closure)

readLines

public static java.util.List<java.lang.String> readLines(java.io.File file)
                                                  throws java.io.IOException
Reads the file into a list of Strings, with one item for each line.

Parameters:
file - a File
Returns:
a List of lines
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.0
See Also:
IOGroovyMethods.readLines(java.io.Reader)

readLines

public static java.util.List<java.lang.String> readLines(java.io.File file,
                                                         java.lang.String charset)
                                                  throws java.io.IOException
Reads the file into a list of Strings, with one item for each line.

Parameters:
file - a File
charset - opens the file with a specified charset
Returns:
a List of lines
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.6.8
See Also:
IOGroovyMethods.readLines(java.io.Reader)

readLines

public static java.util.List<java.lang.String> readLines(java.net.URL self)
                                                  throws java.io.IOException
Reads the URL contents into a list, with one element for each line.

Parameters:
self - a URL
Returns:
a List of lines
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.6.8
See Also:
IOGroovyMethods.readLines(java.io.Reader)

readLines

public static java.util.List<java.lang.String> readLines(java.net.URL self,
                                                         java.lang.String charset)
                                                  throws java.io.IOException
Reads the URL contents into a list, with one element for each line.

Parameters:
self - a URL
charset - opens the URL with a specified charset
Returns:
a List of lines
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.6.8
See Also:
IOGroovyMethods.readLines(java.io.Reader)

getText

public static java.lang.String getText(java.io.File file,
                                       java.lang.String charset)
                                throws java.io.IOException
Read the content of the File using the specified encoding and return it as a String.

Parameters:
file - the file whose content we want to read
charset - the charset used to read the content of the file
Returns:
a String containing the content of the file
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.0

getText

public static java.lang.String getText(java.io.File file)
                                throws java.io.IOException
Read the content of the File and returns it as a String.

Parameters:
file - the file whose content we want to read
Returns:
a String containing the content of the file
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.0

getText

public static java.lang.String getText(java.net.URL url)
                                throws java.io.IOException
Read the content of this URL and returns it as a String.

Parameters:
url - URL to read content from
Returns:
the text from that URL
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.0

getText

public static java.lang.String getText(java.net.URL url,
                                       java.util.Map parameters)
                                throws java.io.IOException
Read the content of this URL and returns it as a String.

Parameters:
url - URL to read content from
parameters - connection parameters
Returns:
the text from that URL
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.8.1

getText

public static java.lang.String getText(java.net.URL url,
                                       java.lang.String charset)
                                throws java.io.IOException
Read the data from this URL and return it as a String. The connection stream is closed before this method returns.

Parameters:
url - URL to read content from
charset - opens the stream with a specified charset
Returns:
the text from that URL
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.0
See Also:
URLConnection.getInputStream()

getText

public static java.lang.String getText(java.net.URL url,
                                       java.util.Map parameters,
                                       java.lang.String charset)
                                throws java.io.IOException
Read the data from this URL and return it as a String. The connection stream is closed before this method returns.

Parameters:
url - URL to read content from
parameters - connection parameters
charset - opens the stream with a specified charset
Returns:
the text from that URL
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.8.1
See Also:
URLConnection.getInputStream()

getBytes

public static byte[] getBytes(java.io.File file)
                       throws java.io.IOException
Read the content of the File and returns it as a byte[].

Parameters:
file - the file whose content we want to read
Returns:
a String containing the content of the file
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.7.1

getBytes

public static byte[] getBytes(java.net.URL url)
                       throws java.io.IOException
Read the content of this URL and returns it as a byte[].

Parameters:
url - URL to read content from
Returns:
the byte[] from that URL
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.7.1

setBytes

public static void setBytes(java.io.File file,
                            byte[] bytes)
                     throws java.io.IOException
Write the bytes from the byte array to the File.

Parameters:
file - the file to write to
bytes - the byte[] to write to the file
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.7.1

write

public static void write(java.io.File file,
                         java.lang.String text)
                  throws java.io.IOException
Write the text to the File.

Parameters:
file - a File
text - the text to write to the File
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.0

setText

public static void setText(java.io.File file,
                           java.lang.String text)
                    throws java.io.IOException
Synonym for write(text) allowing file.text = 'foo'.

Parameters:
file - a File
text - the text to write to the File
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.1
See Also:
write(java.io.File, java.lang.String)

setText

public static void setText(java.io.File file,
                           java.lang.String text,
                           java.lang.String charset)
                    throws java.io.IOException
Synonym for write(text, charset) allowing:
 myFile.setText('some text', charset)
 
or with some help from ExpandoMetaClass, you could do something like:
 myFile.metaClass.setText = { String s -> delegate.setText(s, 'UTF-8') }
 myfile.text = 'some text'
 

Parameters:
file - A File
charset - The charset used when writing to the file
text - The text to write to the File
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.7.3
See Also:
write(java.io.File, java.lang.String, java.lang.String)

leftShift

public static java.io.File leftShift(java.io.File file,
                                     java.lang.Object text)
                              throws java.io.IOException
Write the text to the File.

Parameters:
file - a File
text - the text to write to the File
Returns:
the original file
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.0

leftShift

public static java.io.File leftShift(java.io.File file,
                                     byte[] bytes)
                              throws java.io.IOException
Write bytes to a File.

Parameters:
file - a File
bytes - the byte array to append to the end of the File
Returns:
the original file
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.0

leftShift

public static java.io.File leftShift(java.io.File file,
                                     java.io.InputStream data)
                              throws java.io.IOException
Append binary data to the file. See append(java.io.File, java.io.InputStream)

Parameters:
file - a File
data - an InputStream of data to write to the file
Returns:
the file
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.0

write

public static void write(java.io.File file,
                         java.lang.String text,
                         java.lang.String charset)
                  throws java.io.IOException
Write the text to the File, using the specified encoding.

Parameters:
file - a File
text - the text to write to the File
charset - the charset used
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.0

append

public static void append(java.io.File file,
                          java.lang.Object text)
                   throws java.io.IOException
Append the text at the end of the File.

Parameters:
file - a File
text - the text to append at the end of the File
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.0

append

public static void append(java.io.File file,
                          byte[] bytes)
                   throws java.io.IOException
Append bytes to the end of a File.

Parameters:
file - a File
bytes - the byte array to append to the end of the File
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.1

append

public static void append(java.io.File self,
                          java.io.InputStream stream)
                   throws java.io.IOException
Append binary data to the file. It will not be interpreted as text.

Parameters:
self - a File
stream - stream to read data from.
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.0

append

public static void append(java.io.File file,
                          java.lang.Object text,
                          java.lang.String charset)
                   throws java.io.IOException
Append the text at the end of the File, using a specified encoding.

Parameters:
file - a File
text - the text to append at the end of the File
charset - the charset used
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.0

eachFile

public static void eachFile(java.io.File self,
                            FileType fileType,
                            Closure closure)
                     throws java.io.FileNotFoundException,
                            java.lang.IllegalArgumentException
Invokes the closure for each 'child' file in this 'parent' folder/directory. Both regular files and subfolders/subdirectories can be processed depending on the fileType enum value.

Parameters:
self - a file object
fileType - if normal files or directories or both should be processed
closure - the closure to invoke
Throws:
java.io.FileNotFoundException - if the given directory does not exist
java.lang.IllegalArgumentException - if the provided File object does not represent a directory
Since:
1.7.1

eachFile

public static void eachFile(java.io.File self,
                            Closure closure)
                     throws java.io.FileNotFoundException,
                            java.lang.IllegalArgumentException
Invokes the closure for each 'child' file in this 'parent' folder/directory. Both regular files and subfolders/subdirectories are processed.

Parameters:
self - a File (that happens to be a folder/directory)
closure - a closure (first parameter is the 'child' file)
Throws:
java.io.FileNotFoundException - if the given directory does not exist
java.lang.IllegalArgumentException - if the provided File object does not represent a directory
Since:
1.5.0
See Also:
File.listFiles(), eachFile(java.io.File, groovy.io.FileType, groovy.lang.Closure)

eachDir

public static void eachDir(java.io.File self,
                           Closure closure)
                    throws java.io.FileNotFoundException,
                           java.lang.IllegalArgumentException
Invokes the closure for each subdirectory in this directory, ignoring regular files.

Parameters:
self - a File (that happens to be a folder/directory)
closure - a closure (first parameter is the subdirectory file)
Throws:
java.io.FileNotFoundException - if the given directory does not exist
java.lang.IllegalArgumentException - if the provided File object does not represent a directory
Since:
1.0
See Also:
File.listFiles(), eachFile(java.io.File, groovy.io.FileType, groovy.lang.Closure)

eachFileRecurse

public static void eachFileRecurse(java.io.File self,
                                   FileType fileType,
                                   Closure closure)
                            throws java.io.FileNotFoundException,
                                   java.lang.IllegalArgumentException
Invokes the closure for each descendant file in this directory. Sub-directories are recursively searched in a depth-first fashion. Both regular files and subdirectories may be passed to the closure depending on the value of fileType.

Parameters:
self - a file object
fileType - if normal files or directories or both should be processed
closure - the closure to invoke on each file
Throws:
java.io.FileNotFoundException - if the given directory does not exist
java.lang.IllegalArgumentException - if the provided File object does not represent a directory
Since:
1.7.1

traverse

public static void traverse(java.io.File self,
                            java.util.Map<java.lang.String,java.lang.Object> options,
                            Closure closure)
                     throws java.io.FileNotFoundException,
                            java.lang.IllegalArgumentException
Invokes closure for each descendant file in this directory tree. Sub-directories are recursively traversed as found. The traversal can be adapted by providing various options in the options Map according to the following keys:
type
A FileType enum to determine if normal files or directories or both are processed
preDir
A Closure run before each directory is processed and optionally returning a FileVisitResult value which can be used to control subsequent processing.
preRoot
A boolean indicating that the 'preDir' closure should be applied at the root level
postDir
A Closure run after each directory is processed and optionally returning a FileVisitResult value which can be used to control subsequent processing.
postRoot
A boolean indicating that the 'postDir' closure should be applied at the root level
visitRoot
A boolean indicating that the given closure should be applied for the root dir (not applicable if the 'type' is set to FileType.FILES)
maxDepth
The maximum number of directory levels when recursing (default is -1 which means infinite, set to 0 for no recursion)
filter
A filter to perform on traversed files/directories (using the DefaultGroovyMethods.isCase(java.lang.Object, java.lang.Object) method). If set, only files/dirs which match are candidates for visiting.
nameFilter
A filter to perform on the name of traversed files/directories (using the DefaultGroovyMethods.isCase(java.lang.Object, java.lang.Object) method). If set, only files/dirs which match are candidates for visiting. (Must not be set if 'filter' is set)
excludeFilter
A filter to perform on traversed files/directories (using the DefaultGroovyMethods.isCase(java.lang.Object, java.lang.Object) method). If set, any candidates which match won't be visited.
excludeNameFilter
A filter to perform on the names of traversed files/directories (using the DefaultGroovyMethods.isCase(java.lang.Object, java.lang.Object) method). If set, any candidates which match won't be visited. (Must not be set if 'excludeFilter' is set)
sort
A Closure which if set causes the files and subdirectories for each directory to be processed in sorted order. Note that even when processing only files, the order of visited subdirectories will be affected by this parameter.
This example prints out file counts and size aggregates for groovy source files within a directory tree:
 def totalSize = 0
 def count = 0
 def sortByTypeThenName = { a, b ->
     a.isFile() != b.isFile() ? a.isFile() <=> b.isFile() : a.name <=> b.name
 }
 rootDir.traverse(
         type         : FILES,
         nameFilter   : ~/.*\.groovy/,
         preDir       : { if (it.name == '.svn') return SKIP_SUBTREE },
         postDir      : { println "Found $count files in $it.name totalling $totalSize bytes"
                         totalSize = 0; count = 0 },
         postRoot     : true
         sort         : sortByTypeThenName
 ) {it -> totalSize += it.size(); count++ }
 

Parameters:
self - a File
options - a Map of options to alter the traversal behavior
closure - the Closure to invoke on each file/directory and optionally returning a FileVisitResult value which can be used to control subsequent processing
Throws:
java.io.FileNotFoundException - if the given directory does not exist
java.lang.IllegalArgumentException - if the provided File object does not represent a directory or illegal filter combinations are supplied
Since:
1.7.1
See Also:
DefaultGroovyMethods.sort(java.util.Collection, groovy.lang.Closure), FileVisitResult, FileType

traverse

public static void traverse(java.io.File self,
                            Closure closure)
                     throws java.io.FileNotFoundException,
                            java.lang.IllegalArgumentException
Invokes the closure for each descendant file in this directory tree. Sub-directories are recursively traversed in a depth-first fashion. Convenience method for traverse(java.io.File, java.util.Map, groovy.lang.Closure) when no options to alter the traversal behavior are required.

Parameters:
self - a File
closure - the Closure to invoke on each file/directory and optionally returning a FileVisitResult value which can be used to control subsequent processing
Throws:
java.io.FileNotFoundException - if the given directory does not exist
java.lang.IllegalArgumentException - if the provided File object does not represent a directory
Since:
1.7.1
See Also:
traverse(java.io.File, java.util.Map, groovy.lang.Closure)

traverse

public static void traverse(java.io.File self,
                            java.util.Map<java.lang.String,java.lang.Object> options)
                     throws java.io.FileNotFoundException,
                            java.lang.IllegalArgumentException
Invokes the closure specified with key 'visit' in the options Map for each descendant file in this directory tree. Convenience method for traverse(java.io.File, java.util.Map, groovy.lang.Closure) allowing the 'visit' closure to be included in the options Map rather than as a parameter.

Parameters:
self - a File
options - a Map of options to alter the traversal behavior
Throws:
java.io.FileNotFoundException - if the given directory does not exist
java.lang.IllegalArgumentException - if the provided File object does not represent a directory or illegal filter combinations are supplied
Since:
1.7.1
See Also:
traverse(java.io.File, java.util.Map, groovy.lang.Closure)

eachFileRecurse

public static void eachFileRecurse(java.io.File self,
                                   Closure closure)
                            throws java.io.FileNotFoundException,
                                   java.lang.IllegalArgumentException
Invokes the closure for each descendant file in this directory. Sub-directories are recursively searched in a depth-first fashion. Both regular files and subdirectories are passed to the closure.

Parameters:
self - a File
closure - a closure
Throws:
java.io.FileNotFoundException - if the given directory does not exist
java.lang.IllegalArgumentException - if the provided File object does not represent a directory
Since:
1.0
See Also:
eachFileRecurse(java.io.File, groovy.io.FileType, groovy.lang.Closure)

eachDirRecurse

public static void eachDirRecurse(java.io.File self,
                                  Closure closure)
                           throws java.io.FileNotFoundException,
                                  java.lang.IllegalArgumentException
Invokes the closure for each descendant directory of this directory. Sub-directories are recursively searched in a depth-first fashion. Only subdirectories are passed to the closure; regular files are ignored.

Parameters:
self - a directory
closure - a closure
Throws:
java.io.FileNotFoundException - if the given directory does not exist
java.lang.IllegalArgumentException - if the provided File object does not represent a directory
Since:
1.5.0
See Also:
eachFileRecurse(java.io.File, groovy.io.FileType, groovy.lang.Closure)

eachFileMatch

public static void eachFileMatch(java.io.File self,
                                 FileType fileType,
                                 java.lang.Object nameFilter,
                                 Closure closure)
                          throws java.io.FileNotFoundException,
                                 java.lang.IllegalArgumentException
Invokes the closure for each file whose name (file.name) matches the given nameFilter in the given directory - calling the DefaultGroovyMethods.isCase(java.lang.Object, java.lang.Object) method to determine if a match occurs. This method can be used with different kinds of filters like regular expressions, classes, ranges etc. Both regular files and subdirectories may be candidates for matching depending on the value of fileType.
 // collect names of files in baseDir matching supplied regex pattern
 import static groovy.io.FileType.*
 def names = []
 baseDir.eachFileMatch FILES, ~/foo\d\.txt/, { names << it.name }
 assert names == ['foo1.txt', 'foo2.txt']

 // remove all *.bak files in baseDir
 baseDir.eachFileMatch FILES, ~/.*\.bak/, { File bak -> bak.delete() }

 // print out files > 4K in size from baseDir
 baseDir.eachFileMatch FILES, { new File(baseDir, it).size() > 4096 }, { println "$it.name ${it.size()}" }
 

Parameters:
self - a file
fileType - whether normal files or directories or both should be processed
nameFilter - the filter to perform on the name of the file/directory (using the DefaultGroovyMethods.isCase(java.lang.Object, java.lang.Object) method)
closure - the closure to invoke
Throws:
java.io.FileNotFoundException - if the given directory does not exist
java.lang.IllegalArgumentException - if the provided File object does not represent a directory
Since:
1.7.1

eachFileMatch

public static void eachFileMatch(java.io.File self,
                                 java.lang.Object nameFilter,
                                 Closure closure)
                          throws java.io.FileNotFoundException,
                                 java.lang.IllegalArgumentException
Invokes the closure for each file whose name (file.name) matches the given nameFilter in the given directory - calling the DefaultGroovyMethods.isCase(java.lang.Object, java.lang.Object) method to determine if a match occurs. This method can be used with different kinds of filters like regular expressions, classes, ranges etc. Both regular files and subdirectories are matched.

Parameters:
self - a file
nameFilter - the nameFilter to perform on the name of the file (using the DefaultGroovyMethods.isCase(java.lang.Object, java.lang.Object) method)
closure - the closure to invoke
Throws:
java.io.FileNotFoundException - if the given directory does not exist
java.lang.IllegalArgumentException - if the provided File object does not represent a directory
Since:
1.5.0
See Also:
eachFileMatch(java.io.File, groovy.io.FileType, java.lang.Object, groovy.lang.Closure)

eachDirMatch

public static void eachDirMatch(java.io.File self,
                                java.lang.Object nameFilter,
                                Closure closure)
                         throws java.io.FileNotFoundException,
                                java.lang.IllegalArgumentException
Invokes the closure for each subdirectory whose name (dir.name) matches the given nameFilter in the given directory - calling the DefaultGroovyMethods.isCase(java.lang.Object, java.lang.Object) method to determine if a match occurs. This method can be used with different kinds of filters like regular expressions, classes, ranges etc. Only subdirectories are matched; regular files are ignored.

Parameters:
self - a file
nameFilter - the nameFilter to perform on the name of the directory (using the DefaultGroovyMethods.isCase(java.lang.Object, java.lang.Object) method)
closure - the closure to invoke
Throws:
java.io.FileNotFoundException - if the given directory does not exist
java.lang.IllegalArgumentException - if the provided File object does not represent a directory
Since:
1.5.0
See Also:
eachFileMatch(java.io.File, groovy.io.FileType, java.lang.Object, groovy.lang.Closure)

deleteDir

public static boolean deleteDir(java.io.File self)
Deletes a directory with all contained files and subdirectories.

The method returns

Parameters:
self - a File
Returns:
true if the file doesn't exist or deletion was successful
Since:
1.6.0

renameTo

public static boolean renameTo(java.io.File self,
                               java.lang.String newPathName)
Renames the file. It's a shortcut for File.renameTo(File)

Parameters:
self - a File
newPathName - The new pathname for the named file
Returns:
true if and only if the renaming succeeded; false otherwise
Since:
1.7.4

asWritable

public static java.io.File asWritable(java.io.File file)
Converts this File to a Writable.

Parameters:
file - a File
Returns:
a File which wraps the input file and which implements Writable
Since:
1.0

asType

public static <T> T asType(java.io.File f,
                           java.lang.Class<T> c)
Converts this File to a Writable or delegates to default DefaultGroovyMethods.asType(java.lang.Object, java.lang.Class).

Parameters:
f - a File
c - the desired class
Returns:
the converted object
Since:
1.0

asWritable

public static java.io.File asWritable(java.io.File file,
                                      java.lang.String encoding)
Allows a file to return a Writable implementation that can output itself to a Writer stream.

Parameters:
file - a File
encoding - the encoding to be used when reading the file's contents
Returns:
File which wraps the input file and which implements Writable
Since:
1.0

newReader

public static java.io.BufferedReader newReader(java.io.File file)
                                        throws java.io.IOException
Create a buffered reader for this file.

Parameters:
file - a File
Returns:
a BufferedReader
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.0

newReader

public static java.io.BufferedReader newReader(java.io.File file,
                                               java.lang.String charset)
                                        throws java.io.FileNotFoundException,
                                               java.io.UnsupportedEncodingException
Create a buffered reader for this file, using the specified charset as the encoding.

Parameters:
file - a File
charset - the charset for this File
Returns:
a BufferedReader
Throws:
java.io.FileNotFoundException - if the File was not found
java.io.UnsupportedEncodingException - if the encoding specified is not supported
Since:
1.0

withReader

public static <T> T withReader(java.io.File file,
                               Closure<T> closure)
                    throws java.io.IOException
Create a new BufferedReader for this file and then passes it into the closure, ensuring the reader is closed after the closure returns.

Parameters:
file - a file object
closure - a closure
Returns:
the value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.2

withReader

public static <T> T withReader(java.io.File file,
                               java.lang.String charset,
                               Closure<T> closure)
                    throws java.io.IOException
Create a new BufferedReader for this file using the specified charset and then passes it into the closure, ensuring the reader is closed after the closure returns.

Parameters:
file - a file object
charset - the charset for this input stream
closure - a closure
Returns:
the value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.6.0

newOutputStream

public static java.io.BufferedOutputStream newOutputStream(java.io.File file)
                                                    throws java.io.IOException
Create a buffered output stream for this file.

Parameters:
file - a file object
Returns:
the created OutputStream
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.0

newDataOutputStream

public static java.io.DataOutputStream newDataOutputStream(java.io.File file)
                                                    throws java.io.IOException
Creates a new data output stream for this file.

Parameters:
file - a file object
Returns:
the created DataOutputStream
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.0

withOutputStream

public static java.lang.Object withOutputStream(java.io.File file,
                                                Closure closure)
                                         throws java.io.IOException
Creates a new OutputStream for this file and passes it into the closure. This method ensures the stream is closed after the closure returns.

Parameters:
file - a File
closure - a closure
Returns:
the value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.2
See Also:
IOGroovyMethods.withStream(java.io.OutputStream, groovy.lang.Closure)

withInputStream

public static java.lang.Object withInputStream(java.io.File file,
                                               Closure closure)
                                        throws java.io.IOException
Create a new InputStream for this file and passes it into the closure. This method ensures the stream is closed after the closure returns.

Parameters:
file - a File
closure - a closure
Returns:
the value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.2
See Also:
IOGroovyMethods.withStream(java.io.InputStream, groovy.lang.Closure)

withInputStream

public static <T> T withInputStream(java.net.URL url,
                                    Closure<T> closure)
                         throws java.io.IOException
Creates a new InputStream for this URL and passes it into the closure. This method ensures the stream is closed after the closure returns.

Parameters:
url - a URL
closure - a closure
Returns:
the value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.2
See Also:
IOGroovyMethods.withStream(java.io.InputStream, groovy.lang.Closure)

withDataOutputStream

public static <T> T withDataOutputStream(java.io.File file,
                                         Closure<T> closure)
                              throws java.io.IOException
Create a new DataOutputStream for this file and passes it into the closure. This method ensures the stream is closed after the closure returns.

Parameters:
file - a File
closure - a closure
Returns:
the value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.2
See Also:
IOGroovyMethods.withStream(java.io.OutputStream, groovy.lang.Closure)

withDataInputStream

public static <T> T withDataInputStream(java.io.File file,
                                        Closure<T> closure)
                             throws java.io.IOException
Create a new DataInputStream for this file and passes it into the closure. This method ensures the stream is closed after the closure returns.

Parameters:
file - a File
closure - a closure
Returns:
the value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.2
See Also:
IOGroovyMethods.withStream(java.io.InputStream, groovy.lang.Closure)

newWriter

public static java.io.BufferedWriter newWriter(java.io.File file)
                                        throws java.io.IOException
Create a buffered writer for this file.

Parameters:
file - a File
Returns:
a BufferedWriter
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.0

newWriter

public static java.io.BufferedWriter newWriter(java.io.File file,
                                               boolean append)
                                        throws java.io.IOException
Creates a buffered writer for this file, optionally appending to the existing file content.

Parameters:
file - a File
append - true if data should be appended to the file
Returns:
a BufferedWriter
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.0

newWriter

public static java.io.BufferedWriter newWriter(java.io.File file,
                                               java.lang.String charset,
                                               boolean append)
                                        throws java.io.IOException
Helper method to create a buffered writer for a file. If the given charset is "UTF-16BE" or "UTF-16LE", the requisite byte order mark is written to the stream before the writer is returned.

Parameters:
file - a File
charset - the name of the encoding used to write in this file
append - true if in append mode
Returns:
a BufferedWriter
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.0

newWriter

public static java.io.BufferedWriter newWriter(java.io.File file,
                                               java.lang.String charset)
                                        throws java.io.IOException
Creates a buffered writer for this file, writing data using the given encoding.

Parameters:
file - a File
charset - the name of the encoding used to write in this file
Returns:
a BufferedWriter
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.0

withWriter

public static <T> T withWriter(java.io.File file,
                               Closure<T> closure)
                    throws java.io.IOException
Creates a new BufferedWriter for this file, passes it to the closure, and ensures the stream is flushed and closed after the closure returns.

Parameters:
file - a File
closure - a closure
Returns:
the value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.2

withWriter

public static <T> T withWriter(java.io.File file,
                               java.lang.String charset,
                               Closure<T> closure)
                    throws java.io.IOException
Creates a new BufferedWriter for this file, passes it to the closure, and ensures the stream is flushed and closed after the closure returns. The writer will use the given charset encoding.

Parameters:
file - a File
charset - the charset used
closure - a closure
Returns:
the value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.2

withWriterAppend

public static <T> T withWriterAppend(java.io.File file,
                                     java.lang.String charset,
                                     Closure<T> closure)
                          throws java.io.IOException
Create a new BufferedWriter which will append to this file. The writer is passed to the closure and will be closed before this method returns.

Parameters:
file - a File
charset - the charset used
closure - a closure
Returns:
the value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.2

withWriterAppend

public static <T> T withWriterAppend(java.io.File file,
                                     Closure<T> closure)
                          throws java.io.IOException
Create a new BufferedWriter for this file in append mode. The writer is passed to the closure and is closed after the closure returns.

Parameters:
file - a File
closure - a closure
Returns:
the value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.2

newPrintWriter

public static java.io.PrintWriter newPrintWriter(java.io.File file)
                                          throws java.io.IOException
Create a new PrintWriter for this file.

Parameters:
file - a File
Returns:
the created PrintWriter
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.0

newPrintWriter

public static java.io.PrintWriter newPrintWriter(java.io.File file,
                                                 java.lang.String charset)
                                          throws java.io.IOException
Create a new PrintWriter for this file, using specified charset.

Parameters:
file - a File
charset - the charset
Returns:
a PrintWriter
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.0

withPrintWriter

public static <T> T withPrintWriter(java.io.File file,
                                    Closure<T> closure)
                         throws java.io.IOException
Create a new PrintWriter for this file which is then passed it into the given closure. This method ensures its the writer is closed after the closure returns.

Parameters:
file - a File
closure - the closure to invoke with the PrintWriter
Returns:
the value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.2

withPrintWriter

public static <T> T withPrintWriter(java.io.File file,
                                    java.lang.String charset,
                                    Closure<T> closure)
                         throws java.io.IOException
Create a new PrintWriter with a specified charset for this file. The writer is passed to the closure, and will be closed before this method returns.

Parameters:
file - a File
charset - the charset
closure - the closure to invoke with the PrintWriter
Returns:
the value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.2

withReader

public static <T> T withReader(java.net.URL url,
                               Closure<T> closure)
                    throws java.io.IOException
Helper method to create a new BufferedReader for a URL and then passes it to the closure. The reader is closed after the closure returns.

Parameters:
url - a URL
closure - the closure to invoke with the reader
Returns:
the value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.2

withReader

public static <T> T withReader(java.net.URL url,
                               java.lang.String charset,
                               Closure<T> closure)
                    throws java.io.IOException
Helper method to create a new Reader for a URL and then passes it to the closure. The reader is closed after the closure returns.

Parameters:
url - a URL
charset - the charset used
closure - the closure to invoke with the reader
Returns:
the value returned by the closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.5.6

newInputStream

public static java.io.BufferedInputStream newInputStream(java.io.File file)
                                                  throws java.io.FileNotFoundException
Creates a buffered input stream for this file.

Parameters:
file - a File
Returns:
a BufferedInputStream of the file
Throws:
java.io.FileNotFoundException - if the file is not found.
Since:
1.0

newInputStream

public static java.io.BufferedInputStream newInputStream(java.net.URL url)
                                                  throws java.net.MalformedURLException,
                                                         java.io.IOException
Creates a buffered input stream for this URL.

Parameters:
url - a URL
Returns:
a BufferedInputStream for the URL
Throws:
java.net.MalformedURLException - is thrown if the URL is not well formed
java.io.IOException - if an I/O error occurs while creating the input stream
Since:
1.5.2

newInputStream

public static java.io.BufferedInputStream newInputStream(java.net.URL url,
                                                         java.util.Map parameters)
                                                  throws java.net.MalformedURLException,
                                                         java.io.IOException
Creates a buffered input stream for this URL.

Parameters:
url - a URL
parameters - connection parameters
Returns:
a BufferedInputStream for the URL
Throws:
java.net.MalformedURLException - is thrown if the URL is not well formed
java.io.IOException - if an I/O error occurs while creating the input stream
Since:
1.8.1

newReader

public static java.io.BufferedReader newReader(java.net.URL url)
                                        throws java.net.MalformedURLException,
                                               java.io.IOException
Creates a buffered reader for this URL.

Parameters:
url - a URL
Returns:
a BufferedReader for the URL
Throws:
java.net.MalformedURLException - is thrown if the URL is not well formed
java.io.IOException - if an I/O error occurs while creating the input stream
Since:
1.5.5

newReader

public static java.io.BufferedReader newReader(java.net.URL url,
                                               java.util.Map parameters)
                                        throws java.net.MalformedURLException,
                                               java.io.IOException
Creates a buffered reader for this URL.

Parameters:
url - a URL
parameters - connection parameters
Returns:
a BufferedReader for the URL
Throws:
java.net.MalformedURLException - is thrown if the URL is not well formed
java.io.IOException - if an I/O error occurs while creating the input stream
Since:
1.8.1

newReader

public static java.io.BufferedReader newReader(java.net.URL url,
                                               java.lang.String charset)
                                        throws java.net.MalformedURLException,
                                               java.io.IOException
Creates a buffered reader for this URL using the given encoding.

Parameters:
url - a URL
charset - opens the stream with a specified charset
Returns:
a BufferedReader for the URL
Throws:
java.net.MalformedURLException - is thrown if the URL is not well formed
java.io.IOException - if an I/O error occurs while creating the input stream
Since:
1.5.5

newReader

public static java.io.BufferedReader newReader(java.net.URL url,
                                               java.util.Map parameters,
                                               java.lang.String charset)
                                        throws java.net.MalformedURLException,
                                               java.io.IOException
Creates a buffered reader for this URL using the given encoding.

Parameters:
url - a URL
parameters - connection parameters
charset - opens the stream with a specified charset
Returns:
a BufferedReader for the URL
Throws:
java.net.MalformedURLException - is thrown if the URL is not well formed
java.io.IOException - if an I/O error occurs while creating the input stream
Since:
1.8.1

newDataInputStream

public static java.io.DataInputStream newDataInputStream(java.io.File file)
                                                  throws java.io.FileNotFoundException
Create a data input stream for this file

Parameters:
file - a File
Returns:
a DataInputStream of the file
Throws:
java.io.FileNotFoundException - if the file is not found.
Since:
1.5.0

eachByte

public static void eachByte(java.io.File self,
                            Closure closure)
                     throws java.io.IOException
Traverse through each byte of this File

Parameters:
self - a File
closure - a closure
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.0
See Also:
IOGroovyMethods.eachByte(java.io.InputStream, groovy.lang.Closure)

eachByte

public static void eachByte(java.io.File self,
                            int bufferLen,
                            Closure closure)
                     throws java.io.IOException
Traverse through the bytes of this File, bufferLen bytes at a time.

Parameters:
self - a File
bufferLen - the length of the buffer to use.
closure - a 2 parameter closure which is passed the byte[] and a number of bytes successfully read.
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.7.4
See Also:
IOGroovyMethods.eachByte(java.io.InputStream, int, groovy.lang.Closure)

eachByte

public static void eachByte(java.net.URL url,
                            Closure closure)
                     throws java.io.IOException
Reads the InputStream from this URL, passing each byte to the given closure. The URL stream will be closed before this method returns.

Parameters:
url - url to iterate over
closure - closure to apply to each byte
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.0
See Also:
IOGroovyMethods.eachByte(java.io.InputStream, groovy.lang.Closure)

eachByte

public static void eachByte(java.net.URL url,
                            int bufferLen,
                            Closure closure)
                     throws java.io.IOException
Reads the InputStream from this URL, passing a byte[] and a number of bytes to the given closure. The URL stream will be closed before this method returns.

Parameters:
url - url to iterate over
bufferLen - the length of the buffer to use.
closure - a 2 parameter closure which is passed the byte[] and a number of bytes successfully read.
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.8
See Also:
IOGroovyMethods.eachByte(java.io.InputStream, int, groovy.lang.Closure)

filterLine

public static Writable filterLine(java.io.File self,
                                  Closure closure)
                           throws java.io.IOException
Filters the lines of a File and creates a Writable in return to stream the filtered lines.

Parameters:
self - a File
closure - a closure which returns a boolean indicating to filter the line or not
Returns:
a Writable closure
Throws:
java.io.IOException - if self is not readable
Since:
1.0
See Also:
IOGroovyMethods.filterLine(java.io.Reader, groovy.lang.Closure)

filterLine

public static Writable filterLine(java.io.File self,
                                  java.lang.String charset,
                                  Closure closure)
                           throws java.io.IOException
Filters the lines of a File and creates a Writable in return to stream the filtered lines.

Parameters:
self - a File
charset - opens the file with a specified charset
closure - a closure which returns a boolean indicating to filter the line or not
Returns:
a Writable closure
Throws:
java.io.IOException - if an IOException occurs
Since:
1.6.8
See Also:
IOGroovyMethods.filterLine(java.io.Reader, groovy.lang.Closure)

filterLine

public static void filterLine(java.io.File self,
                              java.io.Writer writer,
                              Closure closure)
                       throws java.io.IOException
Filter the lines from this File, and write them to the given writer based on the given closure predicate.

Parameters:
self - a File
writer - a writer destination to write filtered lines to
closure - a closure which takes each line as a parameter and returns true if the line should be written to this writer.
Throws:
java.io.IOException - if self is not readable
Since:
1.0
See Also:
IOGroovyMethods.filterLine(java.io.Reader, java.io.Writer, groovy.lang.Closure)

filterLine

public static void filterLine(java.io.File self,
                              java.io.Writer writer,
                              java.lang.String charset,
                              Closure closure)
                       throws java.io.IOException
Filter the lines from this File, and write them to the given writer based on the given closure predicate.

Parameters:
self - a File
writer - a writer destination to write filtered lines to
charset - opens the file with a specified charset
closure - a closure which takes each line as a parameter and returns true if the line should be written to this writer.
Throws:
java.io.IOException - if an IO error occurs
Since:
1.6.8
See Also:
IOGroovyMethods.filterLine(java.io.Reader, java.io.Writer, groovy.lang.Closure)

filterLine

public static Writable filterLine(java.net.URL self,
                                  Closure predicate)
                           throws java.io.IOException
Filter lines from a URL using a closure predicate. The closure will be passed each line as a String, and it should return true if the line should be passed to the writer.

Parameters:
self - a URL
predicate - a closure which returns boolean and takes a line
Returns:
a writable which writes out the filtered lines
Throws:
java.io.IOException - if an IO exception occurs
Since:
1.6.8
See Also:
IOGroovyMethods.filterLine(java.io.Reader, groovy.lang.Closure)

filterLine

public static Writable filterLine(java.net.URL self,
                                  java.lang.String charset,
                                  Closure predicate)
                           throws java.io.IOException
Filter lines from a URL using a closure predicate. The closure will be passed each line as a String, and it should return true if the line should be passed to the writer.

Parameters:
self - the URL
charset - opens the URL with a specified charset
predicate - a closure which returns boolean and takes a line
Returns:
a writable which writes out the filtered lines
Throws:
java.io.IOException - if an IO exception occurs
Since:
1.6.8
See Also:
IOGroovyMethods.filterLine(java.io.Reader, groovy.lang.Closure)

filterLine

public static void filterLine(java.net.URL self,
                              java.io.Writer writer,
                              Closure predicate)
                       throws java.io.IOException
Uses a closure to filter lines from this URL and pass them to the given writer. The closure will be passed each line as a String, and it should return true if the line should be passed to the writer.

Parameters:
self - the URL
writer - a writer to write output to
predicate - a closure which returns true if a line should be accepted
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.6.8
See Also:
IOGroovyMethods.filterLine(java.io.Reader, java.io.Writer, groovy.lang.Closure)

filterLine

public static void filterLine(java.net.URL self,
                              java.io.Writer writer,
                              java.lang.String charset,
                              Closure predicate)
                       throws java.io.IOException
Uses a closure to filter lines from this URL and pass them to the given writer. The closure will be passed each line as a String, and it should return true if the line should be passed to the writer.

Parameters:
self - the URL
writer - a writer to write output to
charset - opens the URL with a specified charset
predicate - a closure which returns true if a line should be accepted
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.6.8
See Also:
IOGroovyMethods.filterLine(java.io.Reader, java.io.Writer, groovy.lang.Closure)

readBytes

public static byte[] readBytes(java.io.File file)
                        throws java.io.IOException
Reads the content of the file into a byte array.

Parameters:
file - a File
Returns:
a byte array with the contents of the file.
Throws:
java.io.IOException - if an IOException occurs.
Since:
1.0

toURI

public static java.net.URI toURI(java.lang.CharSequence self)
                          throws java.net.URISyntaxException
Transforms a CharSequence representing a URI into a URI object.

Parameters:
self - the CharSequence representing a URI
Returns:
a URI
Throws:
java.net.URISyntaxException - is thrown if the URI is not well formed.
Since:
1.8.2

toURI

public static java.net.URI toURI(java.lang.String self)
                          throws java.net.URISyntaxException
Transforms a String representing a URI into a URI object.

Parameters:
self - the String representing a URI
Returns:
a URI
Throws:
java.net.URISyntaxException - is thrown if the URI is not well formed.
Since:
1.0

toURL

public static java.net.URL toURL(java.lang.CharSequence self)
                          throws java.net.MalformedURLException
Transforms a CharSequence representing a URL into a URL object.

Parameters:
self - the CharSequence representing a URL
Returns:
a URL
Throws:
java.net.MalformedURLException - is thrown if the URL is not well formed.
Since:
1.8.2

toURL

public static java.net.URL toURL(java.lang.String self)
                          throws java.net.MalformedURLException
Transforms a String representing a URL into a URL object.

Parameters:
self - the String representing a URL
Returns:
a URL
Throws:
java.net.MalformedURLException - is thrown if the URL is not well formed.
Since:
1.0