Groovy里读写本地文件的几种方式

197 阅读1分钟

方法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(追加)

要获取更多Jerry的原创文章,请关注公众号"汪子熙":