当前位置: 首页 > 面试题库 >

Gradle任务替换.java文件中的字符串

呼延才
2023-03-14
问题内容

我想在编译代码之前替换Config.java文件中的几行。我所能找到的就是在复制过程中通过过滤器解析文件。一旦我必须将其复制,就必须将其保存在某处-
这就是我寻求解决方案的原因:在替换行时复制到临时位置>删除原始文件>将重复的文件复制回到原始位置>删除临时文件。有更好的解决方案吗?


问题答案:

也许您应该尝试使用类似ant的replaceregexp的方法:

task myCopy << {
    ant.replaceregexp(match:'aaa', replace:'bbb', flags:'g', byline:true) {
        fileset(dir: 'src/main/java/android/app/cfg', includes: 'TestingConfigCopy.java')
    }
}

此任务将用替换所有的aaa出现bbb。无论如何,这只是一个示例,您可以根据自己的目的对其进行修改,或者尝试使用ant进行一些类似的解决方案。



 类似资料:
  • 我想替换配置中的几行。编译代码之前的java文件。我所能找到的只是在复制过程中通过过滤器解析文件。一旦我必须复制它,我就必须把它保存在某个地方——这就是为什么我要寻找解决方案:在替换线路的同时复制到临时位置

  • 问题内容: 我正在寻找一种替换文件中的字符串而不将整个文件读入内存的方法。通常我会使用Reader和Writer,例如以下内容: 但是,我想就地进行替换,并且不认为可以同时在同一文件上打开Reader和Writer。另外,我正在使用Java 1.4,因此无法访问NIO,扫描仪等。 谢谢唐 问题答案: 通常无法对文件进行“就地”替换,除非替换的长度与原始长度完全相同。否则,文件将需要增大,从而将所有

  • 问题内容: 我有一个名为log.txt的文本文件,它具有以下数据 第一个逗号之前的数字是指定每个项目的索引。 我想做的是读取文件,然后将给定行中字符串的一部分(例如textFiles / a.txt)替换为另一值(例如something / bob.txt)。 这就是我到目前为止 问题答案: 一种方法是使用: 您还可以使用正则表达式,或查找搜索字符串在一行中的何处。

  • 问题内容: 我目前有一个包含字符A,B和C的字符串,例如,该字符串看起来像 其他不包含A,B或CI的随机变量想分别用“ A”,“ B”和“ C”替换A,B和C,这是我目前正在做的最好方法: 问题答案: 如果A,B和C是完全相同的单个字符,cletus的答案就可以正常工作,但是如果它们可以是更长的字符串,而您只是出于示例目的将它们称为A,B和C,则cletus的答案就可以。如果它们是更长的字符串,则

  • 问题内容: 我使用md5 grunt任务生成MD5文件名。现在,我想在任务的回调中使用新文件名重命名HTML文件中的源。我想知道什么是最简单的方法。 问题答案: 您可以使用简单的正则表达式: 所以…

  • 我想在文本文件中用新的英文字符替换突厥语字符{code>{c',c',I',I',G',G',S',S}。 这是我的密码。我在控制台上只获得原始内容,没有任何更改,也不会创建新文件。 编辑: 这是适用于我的新代码。但是我想使用一个较短的代码来替换方法。