从java项目中提取所有字符串

2024-02-13

我有相当多的源文件,我需要解析和提取所有字符串文字,并将它们作为播放旧的 java 常量放入文件中。
例如:

Label l = new Label("Cat");

会成为:

Label l = new Label(Constants.CAT);

And in Constants.java我会:

public final static String CAT = "Cat";

我不希望将字符串外部化在属性文本文件中。
原因之一是为了一致性和代码可读性。
另一个是我们的客户端代码使用GWT,不支持Java属性文本文件机制。

我可以编写某种解析器(也许使用蚂蚁替换任务)?
但我想知道是否IDE已经自动完成这类事情了。


Eclipse 会自动执行此操作。右键单击该文件,选择“源”,然后选择“外部化字符串”

这并不完全符合您的要求(将 Constants.java 文件中的字符串作为字符串),但所使用的方法确实非常强大。它将它们移动到一个属性文件中,该文件可以根据您的区域设置动态加载。按照您的建议将它们放在单独的 Java 源文件中意味着您将同时在应用程序中拥有所有语言,或者您将根据区域设置发布不同的应用程序。

我们将它用于我们的应用程序,即使是基本的东西也必须以英语和日语提供 - 我们更复杂的应用程序以 12 种语言提供 - 无论如何,我们都不是一家小型软件开发公司:-)。

If you do想要将它们放在 Java 文件中,尽管已经提到了缺点,但编写一个程序将属性文件转换为 Java 源文件比尝试从自由格式的 Java 源代码中提取字符串要容易得多。

然后,您需要做的就是修改 Accessor 类以使用内置字符串(在单独的类中),而不是在运行时加载它们。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从java项目中提取所有字符串 的相关文章

随机推荐