新行字符作为字符串的一部分

New line character as part of the String

我在创建字符串时遇到问题,如下所示:

"SSR LANG SA  HK1/EN;S7;P1\n"+

这样做的代码应该附加 \n 作为字符串的一部分 + 引号 + 附加字符串文字 + 实际换行文字:

javaFormattedText.append("   \""+ tokenizer.nextElement() + "\n\"+\n");

输出字符串应如下所示:

"SSR LANG SA  HK1/EN;S7;P1\n"+

但看起来:

"SSR LANG SA  HK1/EN;S7;P1
\n"+

因此 java 抱怨未闭合的字符串文字。

这样做的目的是动态生成测试类,其中包含大量需要java格式字符串的文本信息。

怎样才能达到目标?

UPD

通过这样做解决了问题:

String line = (String) AIR_textTokenizer.nextElement();

line = line.replace("\n", "").replace("\r", "");

如果要添加行分隔符,请使用:System.lineSeparator();

您的 tokenizer.nextElement() 可能会返回尾随的新行。要删除它:

String str = tokenizer.nextElement();
if (str.endsWith('\n')) {
    str = str.substring(0, str.length - 1);
}
javaFormattedText.append("   \""+ str +"\n\"+\n");