gradle 修改文件内容

发布于 2022-09-06 08:03:09 字数 175 浏览 21 评论 0

我创建了一个 build.gradle 同时在该目录下面创建了一个 111.txt 里面的内容是 111 ,如何使用 build.gradle 将 111.txt 里面的 111 替换成 222 简单来说就是 替换指定内容行,或者替换指定行! 谢谢:)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

水水月牙 2022-09-13 08:03:09

感觉你需要的其实是这个功能: filtering_files

Gradle本身就使用groovy DSL做配置文件,因此完全可以使用groovy自带的groovy template渲染文件内容。

人生百味 2022-09-13 08:03:09

把 111.txt 放到 resources 目录里吧

眼藏柔 2022-09-13 08:03:09

这个需要在build.grade里面写个task,在task里写一些对111.txt文件的读写操作,然后运行时就直接调用这个任务就可以了

晨与橙与城 2022-09-13 08:03:09

感谢大家,我还是用了比较笨的办法,就是先将文件中的数据读取到一个List中,在这中间根据相应的条件判断, 然后又把List的数据写回文件这样。

类似于这样:

    //读取文件,并装进List。
    def list = []
    new File('gradle.properties').withReader('UTF-8') { reader ->
        reader.eachLine {
            if (it.contains('PACKAGE_NAME')) {
                it = "PACKAGE_NAME=${packageName}"
            } else if (it.contains('IS_LANDSCAPE')) {
                it = "IS_LANDSCAPE=${isLandScape}"
            } else if (it.contains('IS_DEBUG')) {
                it = "IS_DEBUG=${isDebug}"
            } else if (it.contains('IS_DEBUG')) {
                it = "IS_ROOT=${isRoot}"
            }
            list.add(it + "\n")
        }
    }

然后写回去:

new File('gradle.properties').withWriter('UTF-8') { writer ->
    list.each {
        writer.write(it)
    }
}

这样可以解决我目前的问题 :D

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文