groovy读取文件A并将特定行输出到文件B.

时间:2011-11-14 06:13:08

标签: groovy

有人可以给我一个使用filterLine或其他方法/机制来读取文件A中以abc开头的所有行并将这些行写入文件B的示例。谢谢。

3 个答案:

答案 0 :(得分:9)

这是针对您的问题的单行解决方案:

new File("b.txt") << new File("a.txt").filterLine { it =~ /^abc/ }

答案 1 :(得分:7)

以下是一些基本示例。如果您查看GDK docs,您会看到有charset,append等选项。

File fileA = new File('c:/temp/file_a.txt')
File fileB = new File('c:/temp/file_b.txt')


fileA.filterLine(fileB.newWriter()) {
    it.startsWith('abc')
}

fileB.withWriter { writer ->
    fileA.filterLine { it =~ /^abc/ }.writeTo(writer)
}

答案 2 :(得分:0)

我不确定,但你可以尝试一下吗?

def file = new File("test.txt")
StringWriter writer = new StringWriter()
file.filterLine(writer) { line ->
line.startsWith("abc")
}
println writer.toString()