java - 在 Java 中使用长字符串(heredocs)——可读的方法?

标签 java string heredoc

<分区>

我需要在 Java 中处理包含换行符的长字符串。这些是用于 HTML 生成的,但在这里不是最重要的。

我知道 Java 在某种程度上是瘫痪的,因为它没有heredocs。但我还可以使用其他机制:

1) 字符串连接(或 StringBuilders),可读性和复制粘贴性不强。

2) 将字符串存储在.properties 文件中,要么可读性差,但具有更高的复制粘贴能力。

3) 将每个“heredoc”存储在单独的 .txt 文件中,非常可读且可复制粘贴,但会产生一大堆 txt 文件。

4) 模板引擎,如 VelocityFreemarker - 将设计从 Java 中移出,需要大量的映射操作,这会很好,但是 Velocity 语法和 loop/if 能力不像来自 Smarty 的那样可读

各有利弊,我想选择 3,但出于纯粹的意识形态原因,管理层更喜欢 1。我想要一些在 Java 中使用 heredocs 的标准,可能是使事情变得更容易的库。对于如何使用 heredocs 的任何建议(有很好的论据),我将不胜感激。

谢谢

最佳答案

我讨厌成为“那个人”,他建议您采用与您所询问的方法完全不同的方法,但您是否看过 Groovy?它是 JVM 语言,可以与 Java 自由混合,除了许多其他非常好的语言特性外,它还有 heredocs。

关于java - 在 Java 中使用长字符串(heredocs)——可读的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10806973/

相关文章:

java - 我们如何在swt中添加菜单到标签

c++ - 带有字符串文字的 C 空指针

c# - 删除字符串中的所有英文字母

java - 在 Java 中创建自定义协议(protocol)插件

java - 如何在 tomcat 6 中创建 localhost_access_log 文件

Java通用 map

c# - 如何获取此字符串中标签的 href 属性?

bash - 使用 sed 将文件中的一行替换为来自 stdin 或 HEREDOC 的多行

linux - 如何转义作为 shell 脚本中命令的关键字?

bash - 使用exec vi时出错