Groovy基本使用(5):文件I/O 处理

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 文档;







你可能感兴趣的:(Groovy,Groovy,基本使用)