Package org.apache.groovy.nio.extensions
Class NioExtensions
java.lang.Object
org.codehaus.groovy.runtime.DefaultGroovyMethodsSupport
org.apache.groovy.nio.extensions.NioExtensions
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.- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionstatic voidAppend bytes to the end of a Path.static voidappend(Path self, InputStream stream) Append binary data to the file.static voidAppend the text supplied by the Writer at the end of the File without writing a BOM.static voidAppend the text supplied by the Reader at the end of the File, using a specified encoding.static voidAppend the text supplied by the Reader at the end of the File without writing a BOM, using a specified encoding.static voidAppend the text supplied by the Reader at the end of the File, using a specified encoding.static voidAppend the text supplied by the Writer at the end of the File without writing a BOM.static voidAppend the text supplied by the Writer at the end of the File, using a specified encoding.static voidAppend the text supplied by the Writer at the end of the File without writing a BOM, using a specified encoding.static voidAppend the text supplied by the Writer at the end of the File, using a specified encoding.static voidAppend the text at the end of the Path without writing a BOM.static voidAppend the text at the end of the Path.static voidAppend the text at the end of the Path without writing a BOM, using a specified encoding.static voidAppend the text at the end of the Path, using a specified encoding.static <T> TConverts this Path to aWritableor delegates to defaultDefaultGroovyMethods.asType(Object, Class).static PathasWritable(Path self) Converts this Path to aWritable.static PathasWritable(Path self, String encoding) Allows a file to return a Writable implementation that can output itself to a Writer stream.static PathcreateParentDirectories(Path self, FileAttribute<?>... attrs) Creates, if needed, any parent directories for the file associated with this Path.static booleanDeletes a directory with all contained files and subdirectories.static voidTraverse through the bytes of this Path, bufferLen bytes at a time.static voidTraverse through each byte of this Pathstatic voidInvokes the closure for each subdirectory in this directory, ignoring regular files.static voideachDirMatch(Path self, Object nameFilter, Closure closure) Invokes the closure for each subdirectory whose name (dir.name) matches the given nameFilter in the given directory - calling theDefaultGroovyMethods.isCase(java.lang.Object, java.lang.Object)method to determine if a match occurs.static voideachDirRecurse(Path self, Closure closure) Recursively processes each descendant subdirectory in this directory.static voidInvokes the closure for each 'child' file in this 'parent' folder/directory.static voidInvokes the closure for each 'child' file in this 'parent' folder/directory.static voideachFileMatch(Path self, FileType fileType, Object nameFilter, Closure closure) Invokes the closure for each file whose name (file.name) matches the given nameFilter in the given directory - calling theDefaultGroovyMethods.isCase(Object, Object)method to determine if a match occurs.static voideachFileMatch(Path self, Object nameFilter, Closure closure) Invokes the closure for each file whose name (file.name) matches the given nameFilter in the given directory - calling theDefaultGroovyMethods.isCase(Object, Object)method to determine if a match occurs.static voideachFileRecurse(Path self, FileType fileType, Closure closure) Processes each descendant file in this directory and any subdirectories.static voideachFileRecurse(Path self, Closure closure) Processes each descendant file in this directory and any subdirectories.static <T> TIterates through this file line by line.static <T> TIterates through this path line by line.static <T> TIterates through this file line by line.static <T> TIterates through this file line by line.static voideachObject(Path self, Closure closure) Iterates through the given file object by object.static WritablefilterLine(Path self, Closure closure) Filters the lines of a Path and creates a Writable in return to stream the filtered lines.static voidfilterLine(Path self, Writer writer, Closure closure) Filter the lines from this Path, and write them to the given writer based on the given closure predicate.static voidfilterLine(Path self, Writer writer, String charset, Closure closure) Filter the lines from this Path, and write them to the given writer based on the given closure predicate.static WritablefilterLine(Path self, String charset, Closure closure) Filters the lines of a Path and creates a Writable in return to stream the filtered lines.static byte[]Read the content of the Path and returns it as a byte[].static StringRead the content of the Path and returns it as a String.static StringRead the content of the Path using the specified encoding and return it as a String.static PathWrite bytes to a Path.static PathleftShift(Path path, InputStream data) Append binary data to the file.static PathWrite the text to the Path.static DataInputStreamnewDataInputStream(Path self) Create a data input stream for this filestatic DataOutputStreamnewDataOutputStream(Path self) Creates a new data output stream for this file.static BufferedInputStreamnewInputStream(Path self) Creates a buffered input stream for this file.static ObjectInputStreamnewObjectInputStream(Path self) Create an object input stream for this file.static ObjectInputStreamnewObjectInputStream(Path self, ClassLoader classLoader) Create an object input stream for this path using the given class loader.static ObjectOutputStreamnewObjectOutputStream(Path self) Create an object output stream for this path.static BufferedOutputStreamnewOutputStream(Path self) Create a buffered output stream for this file.static PrintWriternewPrintWriter(Path self) Create a new PrintWriter for this file.static PrintWriternewPrintWriter(Path self, String charset) Create a new PrintWriter for this file, using specified charset.static BufferedReaderCreate a buffered reader for this file.static BufferedReaderCreate a buffered reader for this file, using the specified charset as the encoding.static BufferedWriterCreate a buffered writer for this file.static BufferedWriterCreates a buffered writer for this file, optionally appending to the existing file content.static BufferedWriterCreates a buffered writer for this file without writing a BOM, writing data using the given encoding.static BufferedWriterHelper method to create a buffered writer for a file without writing a BOM.static BufferedWriterHelper method to create a buffered writer for a file.static byte[]Reads the content of the file into a byte array.Reads the file into a list of Strings, with one item for each line.Reads the file into a list of Strings, with one item for each line.static booleanRenames a file.static booleanRenames a file.static voidWrite the bytes from the byte array to the Path.static voidSynonym for write(text) allowing file.text = 'foo'.static voidSynonym for write(text, charset) allowing:static longProvide the standard Groovysize()method forPath.static <T> TsplitEachLine(Path self, String regex, Closure<T> closure) Iterates through this file line by line, splitting each line using the given regex separator.static <T> TsplitEachLine(Path self, String regex, String charset, Closure<T> closure) Iterates through this file line by line, splitting each line using the given regex separator.static <T> TsplitEachLine(Path self, Pattern pattern, Closure<T> closure) Iterates through this file line by line, splitting each line using the given separator Pattern.static <T> TsplitEachLine(Path self, Pattern pattern, String charset, Closure<T> closure) Iterates through this file line by line, splitting each line using the given regex separator Pattern.static voidProcesses each descendant file in this directory and any subdirectories.static voidInvokes the closure specified with key 'visit' in the options Map for each descendant file in this directory tree.static voidProcesses each descendant file in this directory and any subdirectories.static <T> TwithCloseable(Closeable self, Closure<T> action) Deprecated.static <T> TwithDataInputStream(Path self, Closure<T> closure) Create a new DataInputStream for this file and passes it into the closure.static <T> TwithDataOutputStream(Path self, Closure<T> closure) Create a new DataOutputStream for this file and passes it into the closure.static <T> TwithInputStream(Path self, Closure<T> closure) Create a new InputStream for this file and passes it into the closure.static <T> TwithObjectInputStream(Path path, Closure<T> closure) Create a new ObjectInputStream for this file and pass it to the closure.static <T> TwithObjectInputStream(Path self, 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> TwithObjectOutputStream(Path self, Closure<T> closure) Create a new ObjectOutputStream for this path and then pass it to the closure.static <T> TwithOutputStream(Path self, Closure<T> closure) Creates a new OutputStream for this file and passes it into the closure.static <T> TwithPrintWriter(Path self, Closure<T> closure) Create a new PrintWriter for this file which is then passed it into the given closure.static <T> TwithPrintWriter(Path self, String charset, Closure<T> closure) Create a new PrintWriter with a specified charset for this file.static <T> TwithReader(Path self, 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> TwithReader(Path self, 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> TwithWriter(Path self, 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> TwithWriter(Path self, String charset, boolean writeBom, 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> TwithWriter(Path self, 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> TwithWriterAppend(Path self, Closure<T> closure) Create a new BufferedWriter for this file in append mode.static <T> TwithWriterAppend(Path self, String charset, boolean writeBom, Closure<T> closure) Create a new BufferedWriter which will append to this file.static <T> TwithWriterAppend(Path self, String charset, Closure<T> closure) Create a new BufferedWriter which will append to this file.static voidWrite the text to the Path without writing a BOM .static voidWrite the text to the Path.static voidWrite the text to the Path without writing a BOM, using the specified encoding.static voidWrite the text to the Path, using the specified encoding.Methods inherited from class org.codehaus.groovy.runtime.DefaultGroovyMethodsSupportcloneSimilarCollection, cloneSimilarMap, closeQuietly, closeWithWarning, createSimilarArray, createSimilarCollection, createSimilarCollection, createSimilarCollection, createSimilarList, createSimilarMap, createSimilarOrDefaultCollection, createSimilarQueue, createSimilarSet, normaliseIndex, sameType, subListBorders, subListBorders, subListRange, writeUTF16BomIfRequired, writeUTF16BomIfRequired, writeUTF16BomIfRequired, writeUTF16BomIfRequired
- 
Constructor Details- 
NioExtensionspublic NioExtensions()
 
- 
- 
Method Details- 
sizeProvide the standard Groovysize()method forPath.- Parameters:
- self- a- Pathobject
- Returns:
- the file's size (length)
- Throws:
- IOException
- Since:
- 2.3.0
 
- 
newObjectOutputStreamCreate an object output stream for this path.- Parameters:
- self- a- Pathobject
- Returns:
- an object output stream
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
withObjectOutputStreamCreate a new ObjectOutputStream for this path and then pass it to the closure. This method ensures the stream is closed after the closure returns.- Parameters:
- self- a Path
- closure- a closure
- Returns:
- the value returned by the closure
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
- See Also:
 
- 
newObjectInputStreamCreate an object input stream for this file.- Parameters:
- self- a- Pathobject
- Returns:
- an object input stream
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
newObjectInputStreampublic static ObjectInputStream newObjectInputStream(Path self, ClassLoader classLoader) throws IOException Create an object input stream for this path using the given class loader.- Parameters:
- self- a- Pathobject
- classLoader- the class loader to use when loading the class
- Returns:
- an object input stream
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
eachObjectpublic static void eachObject(Path self, Closure closure) throws IOException, ClassNotFoundException Iterates through the given file object by object.- Parameters:
- self- a- Pathobject
- closure- a closure
- Throws:
- IOException- if an IOException occurs.
- ClassNotFoundException- if the class is not found.
- Since:
- 2.3.0
- See Also:
 
- 
withObjectInputStreamCreate a new ObjectInputStream for this file and pass it to the closure. This method ensures the stream is closed after the closure returns.- Parameters:
- path- a Path
- closure- a closure
- Returns:
- the value returned by the closure
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
- See Also:
 
- 
withObjectInputStreampublic static <T> T withObjectInputStream(Path self, ClassLoader classLoader, Closure<T> closure) throws 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:
- self- a Path
- classLoader- the class loader to use when loading the class
- closure- a closure
- Returns:
- the value returned by the closure
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
- See Also:
 
- 
eachLineIterates through this path 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 Path
- 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:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
- See Also:
 
- 
eachLineIterates 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 Path
- 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:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
- See Also:
 
- 
eachLineIterates 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 Path
- 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:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
- See Also:
 
- 
eachLinepublic static <T> T eachLine(Path self, String charset, int firstLine, Closure<T> closure) throws 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 Path
- 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:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
- See Also:
 
- 
splitEachLineIterates 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 Path
- regex- the delimiting regular expression
- closure- a closure
- Returns:
- the last value returned by the closure
- Throws:
- IOException- if an IOException occurs.
- PatternSyntaxException- if the regular expression's syntax is invalid
- Since:
- 2.3.0
- See Also:
 
- 
splitEachLinepublic static <T> T splitEachLine(Path self, Pattern pattern, Closure<T> closure) throws 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 Path
- pattern- the regular expression Pattern for the delimiter
- closure- a closure
- Returns:
- the last value returned by the closure
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
- See Also:
 
- 
splitEachLinepublic static <T> T splitEachLine(Path self, String regex, String charset, Closure<T> closure) throws 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 Path
- 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:
- IOException- if an IOException occurs.
- PatternSyntaxException- if the regular expression's syntax is invalid
- Since:
- 2.3.0
- See Also:
 
- 
splitEachLinepublic static <T> T splitEachLine(Path self, Pattern pattern, String charset, Closure<T> closure) throws 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 Path
- 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:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
- See Also:
 
- 
readLinesReads the file into a list of Strings, with one item for each line.- Parameters:
- self- a Path
- Returns:
- a List of lines
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
- See Also:
 
- 
readLinesReads the file into a list of Strings, with one item for each line.- Parameters:
- self- a Path
- charset- opens the file with a specified charset
- Returns:
- a List of lines
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
- See Also:
 
- 
getTextRead the content of the Path using the specified encoding and return it as a String.- Parameters:
- self- 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:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
getTextRead the content of the Path and returns it as a String.- Parameters:
- self- the file whose content we want to read
- Returns:
- a String containing the content of the file
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
getBytesRead the content of the Path and returns it as a byte[].- Parameters:
- self- the file whose content we want to read
- Returns:
- a String containing the content of the file
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
setBytesWrite the bytes from the byte array to the Path.- Parameters:
- self- the file to write to
- bytes- the byte[] to write to the file
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
writeWrite the text to the Path without writing a BOM .- Parameters:
- self- a Path
- text- the text to write to the Path
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
writeWrite the text to the Path. If the default charset is "UTF-16BE" or "UTF-16LE" (or an equivalent alias) andwriteBomistrue, the requisite byte order mark is written to the file before the text.- Parameters:
- self- a Path
- text- the text to write to the Path
- writeBom- whether to write the BOM
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.5.0
 
- 
setTextSynonym for write(text) allowing file.text = 'foo'.- Parameters:
- self- a Path
- text- the text to write to the Path
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
- See Also:
 
- 
setTextSynonym for write(text, charset) allowing:myFile.setText('some text', charset)or with some help fromExpandoMetaClass, you could do something like:myFile.metaClass.setText = { String s->delegate.setText(s, 'UTF-8') } myfile.text = 'some text'- Parameters:
- self- A Path
- charset- The charset used when writing to the file
- text- The text to write to the Path
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
- See Also:
 
- 
leftShiftWrite the text to the Path.- Parameters:
- self- a Path
- text- the text to write to the Path
- Returns:
- the original file
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
leftShiftWrite bytes to a Path.- Parameters:
- self- a Path
- bytes- the byte array to append to the end of the Path
- Returns:
- the original file
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
leftShiftAppend binary data to the file. Seeappend(Path, java.io.InputStream)- Parameters:
- path- a Path
- data- an InputStream of data to write to the file
- Returns:
- the file
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
writeWrite the text to the Path without writing a BOM, using the specified encoding.- Parameters:
- self- a Path
- text- the text to write to the Path
- charset- the charset used
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
writepublic static void write(Path self, String text, String charset, boolean writeBom) throws IOException Write the text to the Path, using the specified encoding. If the given charset is "UTF-16BE" or "UTF-16LE" (or an equivalent alias) andwriteBomistrue, the requisite byte order mark is written to the file before the text.- Parameters:
- self- a Path
- text- the text to write to the Path
- charset- the charset used
- writeBom- whether to write a BOM
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.5.0
 
- 
appendAppend the text at the end of the Path without writing a BOM.- Parameters:
- self- a Path
- text- the text to append at the end of the Path
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
appendAppend the text supplied by the Writer at the end of the File without writing a BOM.- Parameters:
- file- a Path
- reader- the Reader supplying the text to append at the end of the File
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
appendAppend the text supplied by the Writer at the end of the File without writing a BOM.- Parameters:
- file- a File
- writer- the Writer supplying the text to append at the end of the File
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
appendAppend bytes to the end of a Path. It will not be interpreted as text.- Parameters:
- self- a Path
- bytes- the byte array to append to the end of the Path
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
appendAppend binary data to the file. It will not be interpreted as text.- Parameters:
- self- a Path
- stream- stream to read data from.
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
appendAppend the text at the end of the Path. If the default charset is "UTF-16BE" or "UTF-16LE" (or an equivalent alias) andwriteBomistrue, the requisite byte order mark is written to the file before the text.- Parameters:
- self- a Path
- text- the text to append at the end of the Path
- writeBom- whether to write the BOM
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.5.0
 
- 
appendAppend the text at the end of the Path without writing a BOM, using a specified encoding.- Parameters:
- self- a Path
- text- the text to append at the end of the Path
- charset- the charset used
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
appendpublic static void append(Path self, Object text, String charset, boolean writeBom) throws IOException Append the text at the end of the Path, using a specified encoding. If the given charset is "UTF-16BE" or "UTF-16LE" (or an equivalent alias),writeBomistrue, and the file doesn't already exist, the requisite byte order mark is written to the file before the text is appended.- Parameters:
- self- a Path
- text- the text to append at the end of the Path
- charset- the charset used
- writeBom- whether to write the BOM
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.5.0
 
- 
appendAppend the text supplied by the Writer at the end of the File, using a specified encoding. If the given charset is "UTF-16BE" or "UTF-16LE" (or an equivalent alias),writeBomistrue, and the file doesn't already exist, the requisite byte order mark is written to the file before the text is appended.- Parameters:
- file- a File
- writer- the Writer supplying the text to append at the end of the File
- writeBom- whether to write the BOM
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.5.0
 
- 
appendAppend the text supplied by the Writer at the end of the File without writing a BOM, using a specified encoding.- Parameters:
- file- a File
- writer- the Writer supplying the text to append at the end of the File
- charset- the charset used
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
appendpublic static void append(Path file, Writer writer, String charset, boolean writeBom) throws IOException Append the text supplied by the Writer at the end of the File, using a specified encoding. If the given charset is "UTF-16BE" or "UTF-16LE" (or an equivalent alias),writeBomistrue, and the file doesn't already exist, the requisite byte order mark is written to the file before the text is appended.- Parameters:
- file- a File
- writer- the Writer supplying the text to append at the end of the File
- charset- the charset used
- writeBom- whether to write the BOM
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.5.0
 
- 
appendAppend the text supplied by the Reader at the end of the File, using a specified encoding. If the given charset is "UTF-16BE" or "UTF-16LE" (or an equivalent alias),writeBomistrue, and the file doesn't already exist, the requisite byte order mark is written to the file before the text is appended.- Parameters:
- file- a File
- reader- the Reader supplying the text to append at the end of the File
- writeBom- whether to write the BOM
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.5.0
 
- 
appendAppend the text supplied by the Reader at the end of the File without writing a BOM, using a specified encoding.- Parameters:
- file- a File
- reader- the Reader supplying the text to append at the end of the File
- charset- the charset used
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
appendpublic static void append(Path file, Reader reader, String charset, boolean writeBom) throws IOException Append the text supplied by the Reader at the end of the File, using a specified encoding. If the given charset is "UTF-16BE" or "UTF-16LE" (or an equivalent alias),writeBomistrue, and the file doesn't already exist, the requisite byte order mark is written to the file before the text is appended.- Parameters:
- file- a File
- reader- the Reader supplying the text to append at the end of the File
- charset- the charset used
- writeBom- whether to write the BOM
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.5.0
 
- 
eachFileInvokes 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 Path (that happens to be a folder/directory)
- fileType- if normal files or directories or both should be processed
- closure- the closure to invoke
- Throws:
- FileNotFoundException- if the given directory does not exist
- IllegalArgumentException- if the provided Path object does not represent a directory
- IOException
- Since:
- 2.3.0
 
- 
eachFileInvokes the closure for each 'child' file in this 'parent' folder/directory. Both regular files and subfolders/subdirectories are processed.- Parameters:
- self- a Path (that happens to be a folder/directory)
- closure- a closure (the parameter is the Path for the 'child' file)
- Throws:
- FileNotFoundException- if the given directory does not exist
- IllegalArgumentException- if the provided Path object does not represent a directory
- IOException
- Since:
- 2.3.0
- See Also:
 
- 
eachDirInvokes the closure for each subdirectory in this directory, ignoring regular files.- Parameters:
- self- a Path (that happens to be a folder/directory)
- closure- a closure (the parameter is the Path for the subdirectory file)
- Throws:
- FileNotFoundException- if the given directory does not exist
- IllegalArgumentException- if the provided Path object does not represent a directory
- IOException
- Since:
- 2.3.0
- See Also:
 
- 
eachFileRecursepublic static void eachFileRecurse(Path self, FileType fileType, Closure closure) throws IOException Processes each descendant file in this directory and any subdirectories. Processing consists of potentially callingclosurepassing it the current file (which may be a normal file or subdirectory) and then if a subdirectory was encountered, recursively processing the subdirectory. Whether the closure is called is determined by whether the file was a normal file or subdirectory and the value of fileType.- Parameters:
- self- a Path (that happens to be a folder/directory)
- fileType- if normal files or directories or both should be processed
- closure- the closure to invoke on each file
- Throws:
- FileNotFoundException- if the given directory does not exist
- IllegalArgumentException- if the provided Path object does not represent a directory
- IOException
- Since:
- 2.3.0
 
- 
traversepublic static void traverse(Path self, Map<String, Object> options, Closure closure) throws IOExceptionProcesses each descendant file in this directory and any subdirectories. Processing consists of potentially callingclosurepassing it the current file (which may be a normal file or subdirectory) and then if a subdirectory was encountered, recursively processing the subdirectory.The traversal can be adapted by providing various options in the optionsMap according to the following keys:- type
- A FileTypeenum to determine if normal files or directories or both are processed
- preDir
- A Closurerun before each directory is processed and optionally returning aFileVisitResultvalue 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 Closurerun after each directory is processed and optionally returning aFileVisitResultvalue 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(Object, 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(Object, 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(Object, 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(Object, Object)method). If set, any candidates which match won't be visited. (Must not be set if 'excludeFilter' is set)
- sort
- A Closurewhich 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.
 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 Path (that happens to be a folder/directory)
- options- a Map of options to alter the traversal behavior
- closure- the Closure to invoke on each file/directory and optionally returning a- FileVisitResultvalue which can be used to control subsequent processing
- Throws:
- FileNotFoundException- if the given directory does not exist
- IllegalArgumentException- if the provided Path object does not represent a directory or illegal filter combinations are supplied
- IOException
- Since:
- 2.3.0
- See Also:
 
- 
traverseProcesses each descendant file in this directory and any subdirectories. Convenience method fortraverse(Path, java.util.Map, groovy.lang.Closure)when no options to alter the traversal behavior are required.- Parameters:
- self- a Path (that happens to be a folder/directory)
- closure- the Closure to invoke on each file/directory and optionally returning a- FileVisitResultvalue which can be used to control subsequent processing
- Throws:
- FileNotFoundException- if the given directory does not exist
- IllegalArgumentException- if the provided Path object does not represent a directory
- IOException
- Since:
- 2.3.0
- See Also:
 
- 
traverseInvokes the closure specified with key 'visit' in the options Map for each descendant file in this directory tree. Convenience method fortraverse(Path, 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 Path (that happens to be a folder/directory)
- options- a Map of options to alter the traversal behavior
- Throws:
- FileNotFoundException- if the given directory does not exist
- IllegalArgumentException- if the provided Path object does not represent a directory or illegal filter combinations are supplied
- IOException
- Since:
- 2.3.0
- See Also:
 
- 
eachFileRecurseProcesses each descendant file in this directory and any subdirectories. Processing consists of callingclosurepassing it the current file (which may be a normal file or subdirectory) and then if a subdirectory was encountered, recursively processing the subdirectory.- Parameters:
- self- a Path (that happens to be a folder/directory)
- closure- a Closure
- Throws:
- FileNotFoundException- if the given directory does not exist
- IllegalArgumentException- if the provided Path object does not represent a directory
- IOException
- Since:
- 2.3.0
- See Also:
 
- 
eachDirRecurseRecursively processes each descendant subdirectory in this directory. Processing consists of callingclosurepassing it the current subdirectory and then recursively processing that subdirectory. Regular files are ignored during traversal.- Parameters:
- self- a Path (that happens to be a folder/directory)
- closure- a closure
- Throws:
- FileNotFoundException- if the given directory does not exist
- IllegalArgumentException- if the provided Path object does not represent a directory
- IOException
- Since:
- 2.3.0
- See Also:
 
- 
eachFileMatchpublic static void eachFileMatch(Path self, FileType fileType, Object nameFilter, Closure closure) throws IOException Invokes the closure for each file whose name (file.name) matches the given nameFilter in the given directory - calling theDefaultGroovyMethods.isCase(Object, 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/, { Path bak->bak.delete() } // print out files > 4K in size from baseDir baseDir.eachFileMatch FILES, { new Path(baseDir, it).size()>4096 }, { println "$it.name ${it.size()}" }- Parameters:
- self- a Path (that happens to be a folder/directory)
- 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(Object, Object)method)
- closure- the closure to invoke
- Throws:
- FileNotFoundException- if the given directory does not exist
- IllegalArgumentException- if the provided Path object does not represent a directory
- IOException
- Since:
- 2.3.0
 
- 
eachFileMatchInvokes the closure for each file whose name (file.name) matches the given nameFilter in the given directory - calling theDefaultGroovyMethods.isCase(Object, 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 Path (that happens to be a folder/directory)
- nameFilter- the nameFilter to perform on the name of the file (using the- DefaultGroovyMethods.isCase(Object, Object)method)
- closure- the closure to invoke
- Throws:
- FileNotFoundException- if the given directory does not exist
- IllegalArgumentException- if the provided Path object does not represent a directory
- IOException
- Since:
- 2.3.0
- See Also:
 
- 
eachDirMatchInvokes the closure for each subdirectory whose name (dir.name) matches the given nameFilter in the given directory - calling theDefaultGroovyMethods.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 Path (that happens to be a folder/directory)
- nameFilter- the nameFilter to perform on the name of the directory (using the- DefaultGroovyMethods.isCase(Object, Object)method)
- closure- the closure to invoke
- Throws:
- FileNotFoundException- if the given directory does not exist
- IllegalArgumentException- if the provided Path object does not represent a directory
- IOException
- Since:
- 2.3.0
- See Also:
 
- 
deleteDirDeletes a directory with all contained files and subdirectories.The method returns - true, when deletion was successful
- true, when it is called for a non existing directory
- false, when it is called for a file which isn't a directory
- false, when directory couldn't be deleted
 - Parameters:
- self- a Path
- Returns:
- true if the file doesn't exist or deletion was successful
- Since:
- 2.3.0
 
- 
renameToRenames a file.- Parameters:
- self- a Path
- newPathName- The new pathname for the named file
- Returns:
- trueif and only if the renaming succeeded;- falseotherwise
- Since:
- 2.3.0
 
- 
renameToRenames a file.- Parameters:
- self- a Path
- newPathName- The new target path specified as a URI object
- Returns:
- trueif and only if the renaming succeeded;- falseotherwise
- Since:
- 2.3.0
 
- 
asWritableConverts this Path to aWritable.- Parameters:
- self- a Path
- Returns:
- a Path which wraps the input file and which implements Writable
- Since:
- 2.3.0
 
- 
asTypeConverts this Path to aWritableor delegates to defaultDefaultGroovyMethods.asType(Object, Class).- Parameters:
- path- a Path
- c- the desired class
- Returns:
- the converted object
- Since:
- 2.3.0
 
- 
asWritableAllows a file to return a Writable implementation that can output itself to a Writer stream.- Parameters:
- self- a Path
- encoding- the encoding to be used when reading the file's contents
- Returns:
- Path which wraps the input file and which implements Writable
- Since:
- 2.3.0
 
- 
newReaderCreate a buffered reader for this file.- Parameters:
- self- a Path
- Returns:
- a BufferedReader
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
newReaderCreate a buffered reader for this file, using the specified charset as the encoding.- Parameters:
- self- a Path
- charset- the charset for this Path
- Returns:
- a BufferedReader
- Throws:
- FileNotFoundException- if the Path was not found
- UnsupportedEncodingException- if the encoding specified is not supported
- IOException
- Since:
- 2.3.0
 
- 
withReaderCreate a new BufferedReader for this file and then passes it into the closure, ensuring the reader is closed after the closure returns.- Parameters:
- self- a file object
- closure- a closure
- Returns:
- the value returned by the closure
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
withReaderCreate 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. The writer will use the given charset encoding, but will not write a BOM.- Parameters:
- self- a file object
- charset- the charset for this input stream
- closure- a closure
- Returns:
- the value returned by the closure
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
newOutputStreamCreate a buffered output stream for this file.- Parameters:
- self- a file object
- Returns:
- the created OutputStream
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
newDataOutputStreamCreates a new data output stream for this file.- Parameters:
- self- a file object
- Returns:
- the created DataOutputStream
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
withOutputStreamCreates a new OutputStream for this file and passes it into the closure. This method ensures the stream is closed after the closure returns.- Parameters:
- self- a Path
- closure- a closure
- Returns:
- the value returned by the closure
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
- See Also:
 
- 
withInputStreamCreate a new InputStream for this file and passes it into the closure. This method ensures the stream is closed after the closure returns.- Parameters:
- self- a Path
- closure- a closure
- Returns:
- the value returned by the closure
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
- See Also:
 
- 
withDataOutputStreamCreate a new DataOutputStream for this file and passes it into the closure. This method ensures the stream is closed after the closure returns.- Parameters:
- self- a Path
- closure- a closure
- Returns:
- the value returned by the closure
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
- See Also:
 
- 
withDataInputStreamCreate a new DataInputStream for this file and passes it into the closure. This method ensures the stream is closed after the closure returns.- Parameters:
- self- a Path
- closure- a closure
- Returns:
- the value returned by the closure
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
- See Also:
 
- 
newWriterCreate a buffered writer for this file.- Parameters:
- self- a Path
- Returns:
- a BufferedWriter
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
newWriterCreates a buffered writer for this file, optionally appending to the existing file content.- Parameters:
- self- a Path
- append- true if data should be appended to the file
- Returns:
- a BufferedWriter
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
newWriterpublic static BufferedWriter newWriter(Path self, String charset, boolean append) throws IOException Helper method to create a buffered writer for a file without writing a BOM.- Parameters:
- self- a Path
- charset- the name of the encoding used to write in this file
- append- true if in append mode
- Returns:
- a BufferedWriter
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
newWriterpublic static BufferedWriter newWriter(Path self, String charset, boolean append, boolean writeBom) throws IOException Helper method to create a buffered writer for a file. If the given charset is "UTF-16BE" or "UTF-16LE" (or an equivalent alias), the requisite byte order mark is written to the stream before the writer is returned.- Parameters:
- self- a Path
- charset- the name of the encoding used to write in this file
- append- true if in append mode
- writeBom- whether to write a BOM
- Returns:
- a BufferedWriter
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.5.0
 
- 
newWriterCreates a buffered writer for this file without writing a BOM, writing data using the given encoding.- Parameters:
- self- a Path
- charset- the name of the encoding used to write in this file
- Returns:
- a BufferedWriter
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
withWriterCreates 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 not write a BOM.- Parameters:
- self- a Path
- closure- a closure
- Returns:
- the value returned by the closure
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
withWriterCreates 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, but will not write a BOM.- Parameters:
- self- a Path
- charset- the charset used
- closure- a closure
- Returns:
- the value returned by the closure
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
withWriterpublic static <T> T withWriter(Path self, String charset, boolean writeBom, Closure<T> closure) throws 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. If the given charset is "UTF-16BE" or "UTF-16LE" (or an equivalent alias),writeBomistrue, and the file doesn't already exist, the requisite byte order mark is written to the stream when the writer is created.- Parameters:
- self- a Path
- charset- the charset used
- writeBom- whether to write the BOM
- closure- a closure
- Returns:
- the value returned by the closure
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.5.0
 
- 
withWriterAppendpublic static <T> T withWriterAppend(Path self, String charset, Closure<T> closure) throws 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. The writer will use the given charset encoding, but will not write a BOM.- Parameters:
- self- a Path
- charset- the charset used
- closure- a closure
- Returns:
- the value returned by the closure
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
withWriterAppendpublic static <T> T withWriterAppend(Path self, String charset, boolean writeBom, Closure<T> closure) throws 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. The writer will use the given charset encoding. If the given charset is "UTF-16BE" or "UTF-16LE" (or an equivalent alias),writeBomistrue, and the file doesn't already exist, the requisite byte order mark is written to the stream when the writer is created.- Parameters:
- self- a Path
- charset- the charset used
- writeBom- whether to write the BOM
- closure- a closure
- Returns:
- the value returned by the closure
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.5.0
 
- 
withWriterAppendCreate a new BufferedWriter for this file in append mode. The writer is passed to the closure and is closed after the closure returns. The writer will not write a BOM.- Parameters:
- self- a Path
- closure- a closure
- Returns:
- the value returned by the closure
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
newPrintWriterCreate a new PrintWriter for this file.- Parameters:
- self- a Path
- Returns:
- the created PrintWriter
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
newPrintWriterCreate a new PrintWriter for this file, using specified charset.- Parameters:
- self- a Path
- charset- the charset
- Returns:
- a PrintWriter
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
withPrintWriterCreate a new PrintWriter for this file which is then passed it into the given closure. This method ensures the writer is closed after the closure returns.- Parameters:
- self- a Path
- closure- the closure to invoke with the PrintWriter
- Returns:
- the value returned by the closure
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
withPrintWriterpublic static <T> T withPrintWriter(Path self, String charset, Closure<T> closure) throws 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:
- self- a Path
- charset- the charset
- closure- the closure to invoke with the PrintWriter
- Returns:
- the value returned by the closure
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
newInputStreamCreates a buffered input stream for this file.- Parameters:
- self- a Path
- Returns:
- a BufferedInputStream of the file
- Throws:
- FileNotFoundException- if the file is not found.
- IOException
- Since:
- 2.3.0
 
- 
newDataInputStreamCreate a data input stream for this file- Parameters:
- self- a Path
- Returns:
- a DataInputStream of the file
- Throws:
- FileNotFoundException- if the file is not found.
- IOException
- Since:
- 2.3.0
 
- 
eachByteTraverse through each byte of this Path- Parameters:
- self- a Path
- closure- a closure
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
- See Also:
 
- 
eachByteTraverse through the bytes of this Path, bufferLen bytes at a time.- Parameters:
- self- a Path
- 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:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
- See Also:
 
- 
filterLineFilters the lines of a Path and creates a Writable in return to stream the filtered lines.- Parameters:
- self- a Path
- closure- a closure which returns a boolean indicating to filter the line or not
- Returns:
- a Writable closure
- Throws:
- IOException- if- selfis not readable
- Since:
- 2.3.0
- See Also:
 
- 
createParentDirectoriesCreates, if needed, any parent directories for the file associated with this Path.- Parameters:
- self- a Path
- Returns:
- itself
- Throws:
- IOException- if the parent directories couldn't be created
 
- 
filterLineFilters the lines of a Path and creates a Writable in return to stream the filtered lines.- Parameters:
- self- a Path
- 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:
- IOException- if an IOException occurs
- Since:
- 2.3.0
- See Also:
 
- 
filterLineFilter the lines from this Path, and write them to the given writer based on the given closure predicate.- Parameters:
- self- a Path
- writer- a writer destination to write filtered lines to
- closure- a closure which takes each line as a parameter and returns- trueif the line should be written to this writer.
- Throws:
- IOException- if- selfis not readable
- Since:
- 2.3.0
- See Also:
 
- 
filterLinepublic static void filterLine(Path self, Writer writer, String charset, Closure closure) throws IOException Filter the lines from this Path, and write them to the given writer based on the given closure predicate.- Parameters:
- self- a Path
- 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- trueif the line should be written to this writer.
- Throws:
- IOException- if an IO error occurs
- Since:
- 2.3.0
- See Also:
 
- 
readBytesReads the content of the file into a byte array.- Parameters:
- self- a Path
- Returns:
- a byte array with the contents of the file.
- Throws:
- IOException- if an IOException occurs.
- Since:
- 2.3.0
 
- 
withCloseableDeprecated.#deprecated use the variant in IOGroovyMethods- Throws:
- IOException
- Since:
- 2.3.0
- See Also:
 
 
-