Return type | Name and parameters |
---|---|
void
|
append(byte[] bytes)
Append bytes to the end of a Path. |
void
|
append(InputStream stream)
Append binary data to the file. |
void
|
append(Reader reader)
Append the text supplied by the Writer at the end of the File without writing a BOM. |
void
|
append(Reader reader, boolean writeBom)
Append the text supplied by the Reader at the end of the File, using a specified encoding. |
void
|
append(Reader reader, String charset)
Append the text supplied by the Reader at the end of the File without writing a BOM, using a specified encoding. |
void
|
append(Reader reader, String charset, boolean writeBom)
Append the text supplied by the Reader at the end of the File, using a specified encoding. |
void
|
append(Writer writer)
Append the text supplied by the Writer at the end of the File without writing a BOM. |
void
|
append(Writer writer, boolean writeBom)
Append the text supplied by the Writer at the end of the File, using a specified encoding. |
void
|
append(Writer writer, String charset)
Append the text supplied by the Writer at the end of the File without writing a BOM, using a specified encoding. |
void
|
append(Writer writer, String charset, boolean writeBom)
Append the text supplied by the Writer at the end of the File, using a specified encoding. |
void
|
append(Object text)
Append the text at the end of the Path without writing a BOM. |
void
|
append(Object text, boolean writeBom)
Append the text at the end of the Path. |
void
|
append(Object text, String charset)
Append the text at the end of the Path without writing a BOM, using a specified encoding. |
void
|
append(Object text, String charset, boolean writeBom)
Append the text at the end of the Path, using a specified encoding. |
Object
|
asType(Class c)
Converts this Path to a Writable or delegates to default DefaultGroovyMethods#asType(Object, Class). |
Path
|
asWritable()
Converts this Path to a Writable. |
Path
|
asWritable(String encoding)
Allows a file to return a Writable implementation that can output itself to a Writer stream. |
Path
|
createParentDirectories(FileAttribute attrs)
Creates, if needed, any parent directories for the file associated with this Path. |
boolean
|
deleteDir()
Deletes a directory with all contained files and subdirectories. |
void
|
eachByte(Closure closure)
Traverse through each byte of this Path |
void
|
eachByte(int bufferLen, Closure closure)
Traverse through the bytes of this Path, bufferLen bytes at a time. |
void
|
eachDir(Closure closure)
Invokes the closure for each subdirectory in this directory, ignoring regular files. |
void
|
eachDirMatch(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. |
void
|
eachDirRecurse(Closure closure)
Recursively processes each descendant subdirectory in this directory. |
void
|
eachFile(FileType fileType, Closure closure)
Invokes the closure for each 'child' file in this 'parent' folder/directory. |
void
|
eachFile(Closure closure)
Invokes the closure for each 'child' file in this 'parent' folder/directory. |
void
|
eachFileMatch(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 the DefaultGroovyMethods#isCase(Object, Object) method to determine if a match occurs. |
void
|
eachFileMatch(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(Object, Object) method to determine if a match occurs. |
void
|
eachFileRecurse(FileType fileType, Closure closure)
Processes each descendant file in this directory and any subdirectories. |
void
|
eachFileRecurse(Closure closure)
Processes each descendant file in this directory and any subdirectories. |
Object
|
eachLine(Closure closure)
Iterates through this path line by line. |
Object
|
eachLine(int firstLine, Closure closure)
Iterates through this file line by line. |
Object
|
eachLine(String charset, Closure closure)
Iterates through this file line by line. |
Object
|
eachLine(String charset, int firstLine, Closure closure)
Iterates through this file line by line. |
void
|
eachObject(Closure closure)
Iterates through the given file object by object. |
Writable
|
filterLine(Closure closure)
Filters the lines of a Path and creates a Writable in return to stream the filtered lines. |
void
|
filterLine(Writer writer, Closure closure)
Filter the lines from this Path, and write them to the given writer based on the given closure predicate. |
void
|
filterLine(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. |
Writable
|
filterLine(String charset, Closure closure)
Filters the lines of a Path and creates a Writable in return to stream the filtered lines. |
byte[]
|
getBytes()
Read the content of the Path and returns it as a byte[]. |
String
|
getText()
Read the content of the Path and returns it as a String. |
String
|
getText(String charset)
Read the content of the Path using the specified encoding and return it as a String. |
Path
|
leftShift(byte[] bytes)
Write bytes to a Path. |
Path
|
leftShift(InputStream data)
Append binary data to the file. |
Path
|
leftShift(Object text)
Write the text to the Path. |
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. |
ObjectInputStream
|
newObjectInputStream(ClassLoader classLoader)
Create an object input stream for this path using the given class loader. |
ObjectOutputStream
|
newObjectOutputStream()
Create an object output stream for this path. |
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)
Creates a buffered writer for this file without writing a BOM, writing data using the given encoding. |
BufferedWriter
|
newWriter(String charset, boolean append)
Helper method to create a buffered writer for a file without writing a BOM. |
BufferedWriter
|
newWriter(String charset, boolean append, boolean writeBom)
Helper method to create a buffered writer for a file. |
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. |
List
|
readLines(String charset)
Reads the file into a list of Strings, with one item for each line. |
boolean
|
renameTo(String newPathName)
Renames a file. |
boolean
|
renameTo(URI newPathName)
Renames a file. |
void
|
setBytes(byte[] bytes)
Write the bytes from the byte array to the Path. |
void
|
setText(String text)
Synonym for write(text) allowing file.text = 'foo'. |
void
|
setText(String text, 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
|
long
|
size()
Provide the standard Groovy size() method for Path .
|
Object
|
splitEachLine(String regex, Closure closure)
Iterates through this file line by line, splitting each line using the given regex separator. |
Object
|
splitEachLine(String regex, String charset, Closure closure)
Iterates through this file line by line, splitting each line using the given regex separator. |
Object
|
splitEachLine(Pattern pattern, Closure closure)
Iterates through this file line by line, splitting each line using the given separator Pattern. |
Object
|
splitEachLine(Pattern pattern, String charset, Closure closure)
Iterates through this file line by line, splitting each line using the given regex separator Pattern. |
void
|
traverse(Closure closure)
Processes each descendant file in this directory and any subdirectories. |
void
|
traverse(Map options)
Invokes the closure specified with key 'visit' in the options Map for each descendant file in this directory tree. |
void
|
traverse(Map options, Closure closure)
Processes each descendant file in this directory and any subdirectories. |
Object
|
withDataInputStream(Closure closure)
Create a new DataInputStream for this file and passes it into the closure. |
Object
|
withDataOutputStream(Closure closure)
Create a new DataOutputStream for this file and passes it into the closure. |
Object
|
withInputStream(Closure closure)
Create a new InputStream for this file and passes it into the closure. |
Object
|
withObjectInputStream(Closure closure)
Create a new ObjectInputStream for this file and pass it to the closure. |
Object
|
withObjectInputStream(ClassLoader classLoader, Closure closure)
Create a new ObjectInputStream for this file associated with the given class loader and pass it to the closure. |
Object
|
withObjectOutputStream(Closure closure)
Create a new ObjectOutputStream for this path and then pass it to the closure. |
Object
|
withOutputStream(Closure closure)
Creates a new OutputStream for this file and passes it into the closure. |
Object
|
withPrintWriter(Closure closure)
Create a new PrintWriter for this file which is then passed it into the given closure. |
Object
|
withPrintWriter(String charset, Closure closure)
Create a new PrintWriter with a specified charset for this file. |
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
|
withReader(String charset, Closure 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. |
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, boolean writeBom, 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. |
Object
|
withWriterAppend(Closure closure)
Create a new BufferedWriter for this file in append mode. |
Object
|
withWriterAppend(String charset, boolean writeBom, Closure closure)
Create a new BufferedWriter which will append to this file. |
Object
|
withWriterAppend(String charset, Closure closure)
Create a new BufferedWriter which will append to this file. |
void
|
write(String text)
Write the text to the Path without writing a BOM . |
void
|
write(String text, boolean writeBom)
Write the text to the Path. |
void
|
write(String text, String charset)
Write the text to the Path without writing a BOM, using the specified encoding. |
void
|
write(String text, String charset, boolean writeBom)
Write the text to the Path, using the specified encoding. |
any
, asCollection
, asList
, asType
, average
, average
, bufferedIterator
, chop
, collate
, collate
, collate
, collate
, collect
, collect
, collect
, collectEntries
, collectEntries
, collectEntries
, collectEntries
, collectMany
, collectMany
, collectNested
, collectNested
, combinations
, combinations
, contains
, containsAll
, count
, count
, count
, countBy
, disjoint
, drop
, dropRight
, dropWhile
, each
, eachCombination
, eachPermutation
, eachWithIndex
, every
, findIndexOf
, findIndexOf
, findIndexValues
, findIndexValues
, findLastIndexOf
, findLastIndexOf
, findResult
, findResult
, findResult
, findResult
, findResults
, findResults
, first
, flatten
, flatten
, getAt
, groupBy
, groupBy
, groupBy
, head
, indexed
, indexed
, init
, inits
, intersect
, intersect
, intersect
, isEmpty
, join
, last
, max
, max
, max
, min
, min
, min
, minus
, minus
, minus
, minus
, multiply
, permutations
, permutations
, plus
, plus
, size
, sort
, sort
, sort
, sort
, sort
, stream
, sum
, sum
, sum
, sum
, tail
, tails
, take
, takeRight
, takeWhile
, toList
, toSet
, toSorted
, toSorted
, toSorted
, toSpreadMap
, toUnique
, toUnique
, toUnique
, withIndex
, withIndex
Append bytes to the end of a Path. It will not be interpreted as text.
bytes
- the byte array to append to the end of the PathAppend binary data to the file. It will not be interpreted as text.
stream
- stream to read data from.Append the text supplied by the Writer at the end of the File without writing a BOM.
reader
- the Reader supplying the text to append at the end of the FileAppend 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),
writeBom
is true
, and the file doesn't already
exist, the requisite byte order mark is written to the file before the
text is appended.
reader
- the Reader supplying the text to append at the end of the FilewriteBom
- whether to write the BOMAppend the text supplied by the Reader at the end of the File without writing a BOM, using a specified encoding.
reader
- the Reader supplying the text to append at the end of the Filecharset
- the charset usedAppend 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),
writeBom
is true
, and the file doesn't already
exist, the requisite byte order mark is written to the file before the
text is appended.
reader
- the Reader supplying the text to append at the end of the Filecharset
- the charset usedwriteBom
- whether to write the BOMAppend the text supplied by the Writer at the end of the File without writing a BOM.
writer
- the Writer supplying the text to append at the end of the FileAppend 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),
writeBom
is true
, and the file doesn't already
exist, the requisite byte order mark is written to the file before the
text is appended.
writer
- the Writer supplying the text to append at the end of the FilewriteBom
- whether to write the BOMAppend the text supplied by the Writer at the end of the File without writing a BOM, using a specified encoding.
writer
- the Writer supplying the text to append at the end of the Filecharset
- the charset usedAppend 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),
writeBom
is true
, and the file doesn't already
exist, the requisite byte order mark is written to the file before the
text is appended.
writer
- the Writer supplying the text to append at the end of the Filecharset
- the charset usedwriteBom
- whether to write the BOMAppend the text at the end of the Path without writing a BOM.
text
- the text to append at the end of the PathAppend the text at the end of the Path. If the default charset is
"UTF-16BE" or "UTF-16LE" (or an equivalent alias) and
writeBom
is true
, the requisite byte order
mark is written to the file before the text.
text
- the text to append at the end of the PathwriteBom
- whether to write the BOMAppend the text at the end of the Path without writing a BOM, using a specified encoding.
text
- the text to append at the end of the Pathcharset
- the charset usedAppend 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),
writeBom
is true
, and the file doesn't already
exist, the requisite byte order mark is written to the file before the
text is appended.
text
- the text to append at the end of the Pathcharset
- the charset usedwriteBom
- whether to write the BOMConverts this Path to a Writable or delegates to default DefaultGroovyMethods#asType(Object, Class).
c
- the desired classConverts this Path to a Writable.
Allows a file to return a Writable implementation that can output itself to a Writer stream.
encoding
- the encoding to be used when reading the file's contentsCreates, if needed, any parent directories for the file associated with this Path.
Deletes a directory with all contained files and subdirectories.
The method returns
Traverse through each byte of this Path
closure
- a closureTraverse through the bytes of this Path, bufferLen bytes at a time.
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.Invokes the closure for each subdirectory in this directory, ignoring regular files.
closure
- a closure (the parameter is the Path for the subdirectory file)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.
nameFilter
- the nameFilter to perform on the name of the directory (using the DefaultGroovyMethods#isCase(Object, Object) method)closure
- the closure to invokeRecursively processes each descendant subdirectory in this directory.
Processing consists of calling closure
passing it the current
subdirectory and then recursively processing that subdirectory.
Regular files are ignored during traversal.
closure
- a closureInvokes 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.
fileType
- if normal files or directories or both should be processedclosure
- the closure to invokeInvokes the closure for each 'child' file in this 'parent' folder/directory. Both regular files and subfolders/subdirectories are processed.
closure
- a closure (the parameter is the Path for the 'child' file)Invokes the closure for each file whose name (file.name) matches the given nameFilter in the given directory - calling the DefaultGroovyMethods#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()}" }
fileType
- whether normal files or directories or both should be processednameFilter
- the filter to perform on the name of the file/directory (using the DefaultGroovyMethods#isCase(Object, Object) method)closure
- the closure to invokeInvokes the closure for each file whose name (file.name) matches the given nameFilter in the given directory - calling the DefaultGroovyMethods#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.
nameFilter
- the nameFilter to perform on the name of the file (using the DefaultGroovyMethods#isCase(Object, Object) method)closure
- the closure to invokeProcesses each descendant file in this directory and any subdirectories.
Processing consists of potentially calling closure
passing 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.
fileType
- if normal files or directories or both should be processedclosure
- the closure to invoke on each fileProcesses each descendant file in this directory and any subdirectories.
Processing consists of calling closure
passing it the current
file (which may be a normal file or subdirectory) and then if a subdirectory was encountered,
recursively processing the subdirectory.
closure
- a ClosureIterates 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.
closure
- a closure (arg 1 is line, optional arg 2 is line number starting at line 1)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.
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)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.
charset
- opens the file with a specified charsetclosure
- a closure (arg 1 is line, optional arg 2 is line number starting at line 1)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.
charset
- opens the file with a specified charsetfirstLine
- 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)Iterates through the given file object by object.
closure
- a closureFilters the lines of a Path and creates a Writable in return to stream the filtered lines.
closure
- a closure which returns a boolean indicating to filter
the line or notFilter the lines from this Path, and write them to the given writer based on the given closure predicate.
writer
- a writer destination to write filtered lines toclosure
- a closure which takes each line as a parameter and returns
true
if the line should be written to this writer.Filter the lines from this Path, and write them to the given writer based on the given closure predicate.
writer
- a writer destination to write filtered lines tocharset
- opens the file with a specified charsetclosure
- a closure which takes each line as a parameter and returns
true
if the line should be written to this writer.Filters the lines of a Path and creates a Writable in return to stream the filtered lines.
charset
- opens the file with a specified charsetclosure
- a closure which returns a boolean indicating to filter
the line or notRead the content of the Path and returns it as a byte[].
Read the content of the Path and returns it as a String.
Read the content of the Path using the specified encoding and return it as a String.
charset
- the charset used to read the content of the fileWrite bytes to a Path.
bytes
- the byte array to append to the end of the PathAppend binary data to the file. See Path#append(java.io.InputStream)
data
- an InputStream of data to write to the fileWrite the text to the Path.
text
- the text to write to the PathCreate a data input stream for this file
Creates a new data output stream for this file.
Creates a buffered input stream for this file.
Create an object input stream for this file.
Create an object input stream for this path using the given class loader.
classLoader
- the class loader to use when loading the classCreate an object output stream for this path.
Create a buffered output stream for this file.
Create a new PrintWriter for this file.
Create a new PrintWriter for this file, using specified charset.
charset
- the charsetCreate a buffered reader for this file.
Create a buffered reader for this file, using the specified charset as the encoding.
charset
- the charset for this PathCreate a buffered writer for this file.
Creates a buffered writer for this file, optionally appending to the existing file content.
append
- true if data should be appended to the fileCreates a buffered writer for this file without writing a BOM, writing data using the given encoding.
charset
- the name of the encoding used to write in this fileHelper method to create a buffered writer for a file without writing a BOM.
charset
- the name of the encoding used to write in this fileappend
- true if in append modeHelper 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.
charset
- the name of the encoding used to write in this fileappend
- true if in append modewriteBom
- whether to write a BOMReads 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.
charset
- opens the file with a specified charsetRenames a file.
newPathName
- The new pathname for the named filetrue
if and only if the renaming succeeded;
false
otherwiseRenames a file.
newPathName
- The new target path specified as a URI objecttrue
if and only if the renaming succeeded;
false
otherwiseWrite the bytes from the byte array to the Path.
bytes
- the byte[] to write to the fileSynonym for write(text) allowing file.text = 'foo'.
text
- the text to write to the PathSynonym 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'
charset
- The charset used when writing to the filetext
- The text to write to the PathProvide the standard Groovy size()
method for Path
.
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.
regex
- the delimiting regular expressionclosure
- a closureIterates 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.
regex
- the delimiting regular expressioncharset
- opens the file with a specified charsetclosure
- a closureIterates 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.
pattern
- the regular expression Pattern for the delimiterclosure
- a closureIterates 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.
pattern
- the regular expression Pattern for the delimitercharset
- opens the file with a specified charsetclosure
- a closureProcesses each descendant file in this directory and any subdirectories. Convenience method for Path#traverse(java.util.Map, groovy.lang.Closure) when no options to alter the traversal behavior are required.
closure
- the Closure to invoke on each file/directory and optionally returning a FileVisitResult value
which can be used to control subsequent processingInvokes the closure specified with key 'visit' in the options Map for each descendant file in this directory tree. Convenience method for Path#traverse(java.util.Map, groovy.lang.Closure) allowing the 'visit' closure to be included in the options Map rather than as a parameter.
options
- a Map of options to alter the traversal behaviorProcesses each descendant file in this directory and any subdirectories.
Processing consists of potentially calling closure
passing 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 options
Map according
to the following keys:
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++ }
options
- a Map of options to alter the traversal behaviorclosure
- the Closure to invoke on each file/directory and optionally returning a FileVisitResult value
which can be used to control subsequent processingCreate a new DataInputStream for this file and passes it into the closure. This method ensures the stream is closed after the closure returns.
closure
- a closureCreate a new DataOutputStream for this file and passes it into the closure. This method ensures the stream is closed after the closure returns.
closure
- a closureCreate a new InputStream for this file and passes it into the closure. This method ensures the stream is closed after the closure returns.
closure
- a closureCreate a new ObjectInputStream for this file and pass it to the closure. This method ensures the stream is closed after the closure returns.
closure
- a closureCreate 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.
classLoader
- the class loader to use when loading the classclosure
- a closureCreate a new ObjectOutputStream for this path and then pass it to the closure. This method ensures the stream is closed after the closure returns.
closure
- a closureCreates a new OutputStream for this file and passes it into the closure. This method ensures the stream is closed after the closure returns.
closure
- a closureCreate 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.
closure
- the closure to invoke with the PrintWriterCreate 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.
charset
- the charsetclosure
- the closure to invoke with the PrintWriterCreate a new BufferedReader for this file and then passes it into the closure, ensuring the reader is closed after the closure returns.
closure
- a closureCreate 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.
charset
- the charset for this input streamclosure
- a closureCreates 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.
closure
- a closureCreates 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), writeBom
is true
, and the file doesn't already exist, the requisite
byte order mark is written to the stream when the writer is created.
charset
- the charset usedwriteBom
- whether to write the BOMclosure
- a closureCreates 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.
charset
- the charset usedclosure
- a closureCreate 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.
closure
- a closureCreate 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),
writeBom
is true
, and the file doesn't already exist,
the requisite byte order mark is written to the stream when the writer is created.
charset
- the charset usedwriteBom
- whether to write the BOMclosure
- a closureCreate 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.
charset
- the charset usedclosure
- a closureWrite the text to the Path without writing a BOM .
text
- the text to write to the PathWrite the text to the Path. If the default charset is
"UTF-16BE" or "UTF-16LE" (or an equivalent alias) and
writeBom
is true
, the requisite byte order
mark is written to the file before the text.
text
- the text to write to the PathwriteBom
- whether to write the BOMWrite the text to the Path without writing a BOM, using the specified encoding.
text
- the text to write to the Pathcharset
- the charset usedWrite the text to the Path, using the specified encoding. If the given
charset is "UTF-16BE" or "UTF-16LE" (or an equivalent alias) and
writeBom
is true
, the requisite byte order
mark is written to the file before the text.
text
- the text to write to the Pathcharset
- the charset usedwriteBom
- whether to write a BOM