虽然您可以使用某些格式化程序将任何文本文件或长文本转换并嵌入为 Java 字符串(例如,使用换行符、必要的转义符等),但我真的无法想象您需要这些功能的常见情况。
软件的趋势通常是将代码与其所操作的数据分开。大文本部分,即使只是为了显示或比较,也是数据,因此通常存储在外部。读取文件(甚至将结果缓存在内存中)的成本相当低。国际化更容易。改变更容易。版本控制更容易。其他工具(例如拼写检查器)也可以轻松使用。
我同意,在单元测试中,您想要将事物与模拟进行比较,您将需要大规模的文本比较。然而,当您处理如此大的文件时,您通常会进行可以处理多个不同的大输入以产生多个大输出的测试,那么为什么不让您的测试加载适当的文件而不是内联它呢?
XML 也是如此。事实上,对于 XML,我认为在许多情况下,您需要读取 XML 并构建一个 DOM 树,然后对其进行比较,而不是进行可能受空格影响的文本比较。在单元测试中手动创建 XML 树是很丑陋的。