Groovy 文件I/O 处理
Groovy 中处理文件 I/O 时,除了可以使用 Java 本身的IO类,如: java.io.File, java.io.InputStream,java.io.OutputStream,java.io.Reader,java.io.Writer 之外,本身也提供了一些简单的类来完成文件 I/O 的一些基本操作;
读取文件
//读取文件,并在控制台逐行打印
def lineCount = 0;
File file = new File("./test.txt");
file.eachLine{
line -> println("line ${lineCount++}: ${line}");
}
//获取文件所有内容
def fileStr = file.text;
println(fileStr);
写入文件
def strOut = """Hello world!
Welcome to Groovy!
This is some output to the new file.""";
File fileOut = new File("./out.txt");
fileOut.withWriter('utf-8'){
writer -> writer.writeLine(strOut);
}
获取文件信息
File file = new File("./test.txt");
def fileSize = file.length(); //获取文件大小
def filepath = file.absolutePath(); //获取文件绝对路径
def isFile = file.isFile(); //判断是否文件
def isDirectory = file.isDirectory(); //判断是否为目录
目录操作
//创建目录
File dir = new File("./testDir");
dir.mkdir();
//列举机器上的驱动器
def rootFiles = new File("test").listRoots()
rootFiles.each {
file -> println file.absolutePath
}
//output: C:\
// D:\
//列举指定目录下的所有文件
def file = new File("E:/test");
file.eachFIleResource(){
file -> println(file.getAbsolutePath());
}
删除文件
File file = new File("./test.txt");
file.delete();
复制文件
File src = new File("./test.txt");
File dest = new File("./dest.txt");
dst << src;
更多关于 Groovy 类库的使用,参见官方 API 文档;