新行字符作为String的一部分

Sas*_*sha 0 java string newline

我有问题创建String看起来如下:

"SSR LANG SA  HK1/EN;S7;P1\n"+
Run Code Online (Sandbox Code Playgroud)

执行此操作的代码应附加\n作为字符串的一部分+ quote + append string literal + actual new line literal:

javaFormattedText.append("   \""+ tokenizer.nextElement() + "\\n\"+\n");
Run Code Online (Sandbox Code Playgroud)

输出String应该看起来:

"SSR LANG SA  HK1/EN;S7;P1\n"+
Run Code Online (Sandbox Code Playgroud)

但看起来:

"SSR LANG SA  HK1/EN;S7;P1
\n"+
Run Code Online (Sandbox Code Playgroud)

因此java抱怨unclosed字符串文字.

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

如何实现目标?

UPD

通过这样做解决了这个问题:

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

line = line.replace("\n", "").replace("\r", "");
Run Code Online (Sandbox Code Playgroud)

mao*_*wtm 5

tokenizer.nextElement()可能会返回一个尾随的新行.删除:

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