Groovy:复制文件,同时转换行结尾

时间:2014-03-31 09:22:45

标签: groovy io conventions line-endings

我正在使用Groovy来自定义Maven程序集插件,让我的生活更轻松一些。基本上我想模仿Maven Assembly插件的功能,一个是在转换行结尾时复制文件。

将行结尾转换为Unix风格时,将文件从A复制到B的最简单方法是什么?

1 个答案:

答案 0 :(得分:2)

你可以这样做(假设文件不是太大,因为它将它全部加载到内存中)

void convertCRLF( File input, File output ) {
    output << input.text.replaceAll( '\r\n', '\n' )
}

convertCRLF( new File( '/tmp/test.txt' ), new File( '/tmp/test.fix.txt' ) )

或许您可以使用the FixCRLF task

尝试AntBuilder

这方面的一个例子是:

new AntBuilder().fixcrlf( srcDir:'/tmp/inputs', eol:'lf' )

哪会将/tmp/inputs中的所有文件转换为使用lf作为行结尾