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)
你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)