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

标签 groovy io conventions line-endings

我正在使用 Groovy 自定义 Maven 组装插件,让我的生活变得更轻松。基本上我想模仿 Maven Assembly 插件功能,其中之一是在转换行结尾时复制文件。

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

最佳答案

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

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' ) )

或者您可以尝试使用 AntBuilder the FixCRLF task

一个例子是:

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

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

关于Groovy:复制文件,同时转换行结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22757916/

相关文章:

windows - Groovy:如何将 .groovy 脚本作为 Windows 服务

web-services - 时髦的网络服务

java - 是否仍然建议使用 eclipse/intellij 进行 grails 开发?

c++ - 是否已经实现了任何 RAII 文件句柄?

java - 编码约定 : final class instance in CAPITAL_LETTERS?

c - 在 C 中,typedef 数组类型是公平的编码实践吗?

java - 从 Groovy 测试用例对 Java 类中的静态方法进行单元测试

c++ - 如何防止 C++ 或 native 编译代码中的 I/O 访问

java - Swing Java GUI 使用扫描仪读取文本文件

Javascript变量声明和数字转换