方法1和方法2分别如下图红色和蓝色高亮所示:
其中第八行的双引号包裹起来的变量代表GString,即JavaScript和ABAP里的字符串模板。
代码:
new File('c:\\temp', '1.txt').eachLine { line ->
println line
}
new File('c:\\temp', '1.txt').eachLine { lineContent, lineNumber ->
println "Line $lineNumber: $lineContent"
}
方法3:如果想在依次读取文件内容时增加对文件行读取行为的控制,可以采用如下方法:
def count = 0, MAXSIZE = 3 new File(baseDir,“haiku.txt”).withReader { reader -> while (reader.readLine()) { if (++count > MAXSIZE) { throw new RuntimeException(‘Haiku should only have 3 verses’) } } }
方法4:如果想将文件内容保存到一个list里:
def list = new File('c:\\temp', '1.txt').collect {it}
println list.size()
list.each { println it};
方法5:对本地文件进行写操作
写入之前的文件原始内容:
new File('c:\\temp','1.txt').withWriter('utf-8') { writer ->
writer.writeLine '4 line'
writer.writeLine '5 line'
writer.writeLine '6 line'
}
写入后的文件:
可以看到写入方式为overwrite(复写),而不是append(追加)