全局设置文件编写器编码

时间:2014-12-04 22:30:29

标签: groovy character-encoding

我有一个Groovy应用程序,其中至少有四次出现此代码(和计数):

new File(filePath).withWriter('UTF-8') { out ->
    [...]
}

感觉应该有一种方法来指定我想使用UTF-8编写每个文件,而不必自己指定。

我可以吗?怎么样?

1 个答案:

答案 0 :(得分:0)

你可以添加一个助手(如果没有人提出正确的答案):

def withUtf8Writer = { file, closure -> new File(file).withWriter('UTF-8', closure) }

new File('/tmp/f1').withWriter('UTF-8') { out ->
    out.println 'ẗ' 
}

withUtf8Writer('/tmp/f2') { out ->
    out.println 'ẗ'
}

assert "diff /tmp/f1 /tmp/f2".execute().text == ''