我遇到了创建String的问题,如下所示:
"SSR LANG SA HK1/EN;S7;P1\n"+
执行此操作的代码应附加\ n作为字符串的一部分+ quote + append string literal + actual new line literal:
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", "");
答案 0 :(得分:5)
您的tokenizer.nextElement()
可能会返回一个尾随新行。要删除它:
String str = tokenizer.nextElement();
if (str.endsWith('\n')) {
str = str.substring(0, str.length - 1);
}
javaFormattedText.append(" \""+ str +"\\n\"+\n");
答案 1 :(得分:-1)
如果您要添加行分隔符,请使用:System.lineSeparator();