groovy删除文件最后一行,并追加内容

 这里主要使用了StringBuilder来加入临时变量的方法来截取,对于小文件来说是非常适用的,如果是大文件,请使用RandomAccessFile来解决问题,下面是代码示例,有需要的同学可以参考

void logbackCopy(String component_name, String component_version, File logbackFile) {
    File logback = new File( "$repo/$component_name/$component_version/profiles/logback-spring.xml" )
    if (matches( ".*process", component_name )) {
        logback.eachLine { line ->
            logbackFile.append( line + "\n" )
        }
    } else {

        FileWriter writer = new FileWriter( logbackFile, true )
        StringBuilder tmpfile = new StringBuilder( "" )
        //删除最后一行内容
        logbackFile.eachLine {
            if (it != "</configuration>") {
                tmpfile.append( it + "\n" )
            }
        }
        logbackFile.write( tmpfile.toString() )
        logback.eachLine {
            writer.write( it.toString() + "\n" )
        }
        writer.write( "</configuration>" )
        writer.close()
    }
}
发布了62 篇原创文章 · 获赞 36 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/louishu_hu/article/details/102719317