Groovy在使用I / O时提供了许多辅助方法,Groovy提供了更简单的类来为文件提供以下功能。
读取文件
写入文件
遍历文件树
读取和写入数据对象到文件
除此之外,您始终可以使用下面列出的用于文件I / O操作的标准Java类。
java.io.File
java.io.InputStream
java.io.OutputStream
java.io.Reader
java.io.Writer
[读取文件]
按行读取文件的内容
def file = new File("E:/Example.txt")
file.eachLine ("GBK", {
line -> println "line : $line";
})
一次性读取文件的内容
def file = new File("E:/Example.txt")
println file.text
[写入文件]
将“Hello World”写入文件
def file = new File("E:/Example.txt")
file.withWriter('utf-8') {
writer -> writer.writeLine 'Hello World'
}
[获取文件的大小]
def file = new File("E:/Example.txt")
println "The file ${file.absolutePath} has ${file.length()} bytes"
打印结果如下:
The file E:\Example.txt has 13 bytes
[测试文件是否是目录]
def file = new File("E:/Example.txt")
println "File? ${file.isFile()}"
println "Directory? ${file.isDirectory()}"
打印结果如下:
File? true
Directory? false
[创建目录]
创建当前文件夹
def file = new File("E:/Example")
if(!file.exists()){
file.mkdir()
}
创建当前文件夹以及当前文件下的所有文件夹
def file = new File("E:/Example")
if(!file.exists()){
file.mkdirs()
}
[删除文件]
public static void main(String[] args){
def file = new File("E:/Example")
file.delete()
}
[复制文件]
将Example1中的内容复制到Example2
def src = new File("E:/Example1.txt")
def dst = new File("E:/Example2.txt")
dst << src.text
[获取下级路径下所有的文件夹和文件]
def dir = new File("E:/Example")
println dir.listFiles()
[本章完...]
网友评论