Groovy JDK

## java.io
Class File

Method Summary
`void` | `append(Object text)` Append the text at the end of the File
`void` | `append(Object text, String charset)` Append the text at the end of the File, using a specified encoding
`Object` | `asType(Class c)` Converts this File to a {@link Writable} or delegates to default {@link #asType(Object,Class)}
`File` | `asWritable()` Converts this File to a {@link Writable}
`File` | `asWritable(String encoding)` Allows a file to return a Writable implementation that can output itself to a Writer stream
`void` | `eachByte(Closure closure)` Traverse through each byte of this File
`void` | `eachDir(Closure closure)` Invokes the closure for each directory in this directory, ignoring regular files
`void` | `eachDirMatch(Object filter, Closure closure)` Invokes the closure for each directory whose name (dir - calling the isCase() method to determine if a match occurs with different kinds of filters like regular expressions, classes, ranges etc
`void` | `eachDirRecurse(Closure closure)` Invokes the closure for each descendant directory of this directory Sub-directories are recursively searched in a depth-first fashion Only directories are passed to the closure; regular files are ignored
`void` | `eachFile(Closure closure)` Invokes the closure for each file in the given directory
`void` | `eachFileMatch(Object filter, Closure closure)` Invokes the closure for each file whose name (file - calling the isCase() method to determine if a match occurs with different kinds of filters like regular expressions, classes, ranges etc
`void` | `eachFileRecurse(Closure closure)` Invokes the closure for each descendant file in this directory Sub-directories are recursively searched in a depth-first fashion
`Object` | `eachLine(Closure closure)` Iterates through this file line by line to the given closure returns
`void` | `eachObject(Closure closure)` Iterates through the given file object by object
`Writable` | `filterLine(Closure closure)` Filters the lines of a File and creates a Writeable in return to stream the filtered lines
`void` | `filterLine(Writer writer, Closure closure)` Filter the lines from this File, and write them to the given writer based on the given closure predicate
`String` | `getText(String charset)` Read the content of the File using the specified encoding and return it as a String
`String` | `getText()` Read the content of the File and returns it as a String
`Iterator` | `iterator()` Just throws a DeprecationException one line at a time
`File` | `leftShift(Object text)` Write the text to the File
`DataInputStream` | `newDataInputStream()` Create a data input stream for this file
`DataOutputStream` | `newDataOutputStream()` Creates a new data output stream for this file
`BufferedInputStream` | `newInputStream()` Creates a buffered input stream for this file
`ObjectInputStream` | `newObjectInputStream()` Create an object input stream for this file
`ObjectOutputStream` | `newObjectOutputStream()` Create an object output stream for this file
`BufferedOutputStream` | `newOutputStream()` Create a buffered output stream for this file
`PrintWriter` | `newPrintWriter()` Create a new PrintWriter for this file
`PrintWriter` | `newPrintWriter(String charset)` Create a new PrintWriter for this file, using specified charset
`BufferedReader` | `newReader()` Create a buffered reader for this file
`BufferedReader` | `newReader(String charset)` Create a buffered reader for this file, using the specified charset as the encoding
`BufferedWriter` | `newWriter()` Create a buffered writer for this file
`BufferedWriter` | `newWriter(boolean append)` Creates a buffered writer for this file, optionally appending to the existing file content
`BufferedWriter` | `newWriter(String charset, boolean append)` Helper method to create a buffered writer for a file charset is "UTF-16BE" or "UTF-16LE", the requisite byte order mark is written to the stream before the writer is returned
`BufferedWriter` | `newWriter(String charset)` Creates a buffered writer for this file, writing data using the given encoding
`byte[]` | `readBytes()` Reads the content of the file into a byte array
`List` | `readLines()` Reads the file into a list of Strings, with one item for each line
`void` | `setText(String text)` Synonym for write(text) allowing file
`long` | `size()` Provide the standard Groovy `size()` method for `File`
`Object` | `splitEachLine(String sep, Closure closure)` Iterates through this file line by line, splitting on the seperator The list of tokens for each line is then passed to the given closure
`Object` | `withDataInputStream(Closure closure)` Create a new DataInputStream for this file and passes it into the closure This method ensures the stream is closed after the closure returns
`Object` | `withDataOutputStream(Closure closure)` Create a new DataOutputStream for this file and passes it into the closure This method ensures the stream is closed after the closure returns
`Object` | `withInputStream(Closure closure)` Create a new InputStream for this file and passes it into the closure This method ensures the stream is closed after the closure returns
`Object` | `withObjectInputStream(Closure closure)` Create a new ObjectInputStream for this file and pass it to the closure This method ensures the stream is closed after the closure returns
`Object` | `withObjectOutputStream(Closure closure)` Create a new ObjectOutputStream for this file and then pass it to the closure returns
`Object` | `withOutputStream(Closure closure)` Creates a new OutputStream for this file and passes it into the closure This method ensures the stream is closed after the closure returns
`Object` | `withPrintWriter(Closure closure)` Create a new PrintWriter for this file which is then passed it into the given closure is closed after the closure returns
`Object` | `withPrintWriter(String charset, Closure closure)` Create a new PrintWriter with a specified charset for this file before this method returns
`Object` | `withReader(Closure closure)` Create a new BufferedReader for this file and then passes it into the closure, ensuring the reader is closed after the closure returns
`Object` | `withWriter(Closure 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
`Object` | `withWriter(String charset, Closure 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 The writer will use the given charset encoding
`Object` | `withWriterAppend(String charset, Closure closure)` Create a new BufferedWriter which will append to this file this method returns
`Object` | `withWriterAppend(Closure closure)` Create a new BufferedWriter for this file in append mode is passed to the closure and is closed after the closure returns
`void` | `write(String text)` Write the text to the File
`void` | `write(String text, String charset)` Write the text to the File, using the specified encoding

Method Detail

### append

    public void append(Object text)

  Append the text at the end of the File.

Parameters:
  `text` - the text to append at the end of the File.

### append

    public void append(Object text, String charset)

  Append the text at the end of the File, using a specified encoding.

Parameters:
  `text` - the text to append at the end of the File.
  `charset` - the charset used.

### asType

    public Object asType(Class c)

  Converts this File to a {@link Writable} or delegates to default {@link #asType(Object,Class)}.

Parameters:
  `c` - the desired class.
Returns:
  the converted object

### asWritable

    public File asWritable()

  Converts this File to a {@link Writable}.

Returns:
  a File which wraps the input file and which implements Writable

### asWritable

    public File asWritable(String encoding)

  Allows a file to return a Writable implementation that can output itself to a Writer stream.

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

### eachByte

    public void eachByte(Closure closure)

  Traverse through each byte of this File

Parameters:
  `closure` - a closure.
See:
  #eachByte(InputStream,Closure).

### eachDir

    public void eachDir(Closure closure)

  Invokes the closure for each directory in this directory, ignoring regular files.

Parameters:
  `closure` - a closure.

### eachDirMatch

    public void eachDirMatch(Object filter, Closure closure)

  Invokes the closure for each directory whose name (dir.name) matches the given filter in the given directory - calling the isCase() method to determine if a match occurs. This method can be used with different kinds of filters like regular expressions, classes, ranges etc.

Parameters:
  `filter` - the filter to perform on the directory (using the isCase(object) method).
  `closure` - the closure to invoke.

### eachDirRecurse

    public void eachDirRecurse(Closure closure)

  Invokes the closure for each descendant directory of this directory. Sub-directories are recursively searched in a depth-first fashion. Only directories are passed to the closure; regular files are ignored.

Parameters:
  `closure` - a closure.
See:
  #eachFileRecurse(File,Closure,boolean).

### eachFile

    public void eachFile(Closure closure)

  Invokes the closure for each file in the given directory

Parameters:
  `closure` - a closure.
See:
  File#listFiles().

### eachFileMatch

    public void eachFileMatch(Object filter, Closure closure)

  Invokes the closure for each file whose name (file.name) matches the given filter in the given directory - calling the isCase() method to determine if a match occurs. This method can be used with different kinds of filters like regular expressions, classes, ranges etc.

Parameters:
  `filter` - the filter to perform on the directory (using the isCase(object) method).
  `closure` - the closure to invoke.

### eachFileRecurse

    public void eachFileRecurse(Closure closure)

  Invokes the closure for each descendant file in this directory. Sub-directories are recursively searched in a depth-first fashion.

Parameters:
  `closure` - a closure.

### eachLine

    public Object eachLine(Closure closure)

  Iterates through this file line by line. Each line is passed to the given closure. The file reader is closed before this method returns.

Parameters:
  `closure` - a closure.
Returns:
  the last value returned by the closure

See:
  #eachLine(Reader,Closure).

### eachObject

    public void eachObject(Closure closure)

  Iterates through the given file object by object.

Parameters:
  `closure` - a closure.
See:
  #eachObject(ObjectInputStream,Closure).

### filterLine

    public Writable filterLine(Closure closure)

  Filters the lines of a File and creates a Writeable in return to stream the filtered lines.

Parameters:
  `closure the` - a closure which returns a boolean indicating to filter the line or not.
Returns:
  a Writable closure

See:
  #filterLine(Reader,Closure).

### filterLine

    public void filterLine(Writer writer, Closure closure)

  Filter the lines from this File, and write them to the given writer based on the given closure predicate.

Parameters:
  `writer` - a writer destination to write filtered lines to.
  `closure `true`` - a closure which takes each line as a parameter and returns `true` if the line should be written to this writer..
See:
  #filterLine(Reader,Writer,Closure).

### getText

    public String getText(String charset)

  Read the content of the File using the specified encoding and return it as a String.

Parameters:
  `charset` - the charset used to read the content of the file.
Returns:
  a String containing the content of the file

### getText

    public String getText()

  Read the content of the File and returns it as a String.

Returns:
  a String containing the content of the file

### iterator

    public Iterator iterator()

  Just throws a DeprecationException. DO NOT USE. It used to provide an iterator for text file content one line at a time.

Returns:
  a line-based iterator

### leftShift

    public File leftShift(Object text)

  Write the text to the File.

Parameters:
  `text` - the text to write to the File.
Returns:
  the original file

### newDataInputStream

    public DataInputStream newDataInputStream()

  Create a data input stream for this file

Returns:
  a DataInputStream of the file

### newDataOutputStream

    public DataOutputStream newDataOutputStream()

  Creates a new data output stream for this file.

Returns:
  the created DataOutputStream

### newInputStream

    public BufferedInputStream newInputStream()

  Creates a buffered input stream for this file.

Returns:
  a BufferedInputStream of the file

### newObjectInputStream

    public ObjectInputStream newObjectInputStream()

  Create an object input stream for this file.

Returns:
  an object input stream

### newObjectOutputStream

    public ObjectOutputStream newObjectOutputStream()

  Create an object output stream for this file.

Returns:
  an object output stream

### newOutputStream

    public BufferedOutputStream newOutputStream()

  Create a buffered output stream for this file.

Returns:
  the created OutputStream

### newPrintWriter

    public PrintWriter newPrintWriter()

  Create a new PrintWriter for this file.

Returns:
  the created PrintWriter

### newPrintWriter

    public PrintWriter newPrintWriter(String charset)

  Create a new PrintWriter for this file, using specified charset.

Parameters:
  `charset` - the charset.
Returns:
  a PrintWriter

### newReader

    public BufferedReader newReader()

  Create a buffered reader for this file.

Returns:
  a BufferedReader

### newReader

    public BufferedReader newReader(String charset)

  Create a buffered reader for this file, using the specified charset as the encoding.

Parameters:
  `charset` - the charset for this File.
Returns:
  a BufferedReader

### newWriter

    public BufferedWriter newWriter()

  Create a buffered writer for this file.

Returns:
  a BufferedWriter

### newWriter

    public BufferedWriter newWriter(boolean append)

  Creates a buffered writer for this file, optionally appending to the existing file content.

Parameters:
  `append` - true if data should be appended to the file.
Returns:
  a BufferedWriter

### newWriter

    public BufferedWriter newWriter(String charset, boolean append)

  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:
  `charset` - the name of the encoding used to write in this file.
  `append` - true if in append mode.
Returns:
  a BufferedWriter

### newWriter

    public BufferedWriter newWriter(String charset)

  Creates a buffered writer for this file, writing data using the given encoding.

Parameters:
  `charset` - the name of the encoding used to write in this file.
Returns:
  a BufferedWriter

### readBytes

    public byte[] readBytes()

  Reads the content of the file into a byte array.

Returns:
  a byte array with the contents of the file.

### readLines

    public List readLines()

  Reads the file into a list of Strings, with one item for each line.

Returns:
  a List of lines

### setText

    public void setText(String text)

  Synonym for write(text) allowing file.text = 'foo'.

Parameters:
  `text` - the text to write to the File.
See:
  #write(File, String).

### size

    public long size()

  Provide the standard Groovy `size()` method for `File`.

Returns:
  the file's size (length)

### splitEachLine

    public Object splitEachLine(String sep, Closure closure)

  Iterates through this file line by line, splitting on the seperator. The list of tokens for each line is then passed to the given closure.

Parameters:
  `sep` - a String separator.
  `closure` - a closure.
Returns:
  the last value returned by the closure

See:
  #splitEachLine(Reader,String,Closure).

### withDataInputStream

    public Object withDataInputStream(Closure closure)

  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:
  `closure` - a closure.
Returns:
  the value returned by the closure

See:
  #withStream(InputStream,Closure).

### withDataOutputStream

    public Object withDataOutputStream(Closure closure)

  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:
  `closure` - a closure.
Returns:
  the value returned by the closure

See:
  #withStream(OutputStream,Closure).

### withInputStream

    public Object withInputStream(Closure closure)

  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:
  `closure` - a closure.
Returns:
  the value returned by the closure

See:
  #withStream(InputStream,Closure).

### withObjectInputStream

    public Object withObjectInputStream(Closure closure)

  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:
  `closure` - a closure.
Returns:
  the value returned by the closure

See:
  #withStream(InputStream,Closure).

### withObjectOutputStream

    public Object withObjectOutputStream(Closure closure)

  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:
  `closure` - a closure.
Returns:
  the value returned by the closure

See:
  #withStream(OutputStream,Closure).

### withOutputStream

    public Object withOutputStream(Closure closure)

  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:
  `closure` - a closure.
Returns:
  the value returned by the closure

See:
  #withStream(OutputStream,Closure).

### withPrintWriter

    public Object withPrintWriter(Closure closure)

  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:
  `closure` - the closure to invoke with the PrintWriter.
Returns:
  the value returned by the closure

### withPrintWriter

    public Object withPrintWriter(String charset, Closure closure)

  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:
  `charset` - the charset.
  `closure` - the closure to invoke with the PrintWriter.
Returns:
  the value returned by the closure

### withReader

    public Object withReader(Closure closure)

  Create a new BufferedReader for this file and then passes it into the closure, ensuring the reader is closed after the closure returns.

Parameters:
  `closure` - a closure.
Returns:
  the value returned by the closure

### withWriter

    public Object withWriter(Closure 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.

Parameters:
  `closure` - a closure.
Returns:
  the value returned by the closure

### withWriter

    public Object withWriter(String charset, Closure 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. The writer will use the given charset encoding.

Parameters:
  `charset` - the charset used.
  `closure` - a closure.
Returns:
  the value returned by the closure

### withWriterAppend

    public Object withWriterAppend(String charset, Closure closure)

  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:
  `charset` - the charset used.
  `closure` - a closure.
Returns:
  the value returned by the closure

### withWriterAppend

    public Object withWriterAppend(Closure closure)

  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:
  `closure` - a closure.
Returns:
  the value returned by the closure

### write

    public void write(String text)

  Write the text to the File.

Parameters:
  `text` - the text to write to the File.

### write

    public void write(String text, String charset)

  Write the text to the File, using the specified encoding.

Parameters:
  `text` - the text to write to the File.
  `charset` - the charset used.

Groovy JDK