1. 程式人生 > >Groovy基本使用(5):檔案I/O 處理

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