
本文介绍如何在Java控制台正确显示字符串中的换行符\r\n,而不是将其解释为实际的换行。System.out.println()方法会自动处理这些转义字符,导致输出结果并非字符串的字面值。
文中给出的示例代码利用String.format()和\r\n创建包含换行符的字符串,并验证了两种方式生成的字符串在Java中被视为等价。然而,目标是直接显示\r\n本身,而非换行效果。
为此,我们编写辅助方法printWithEscapeSequences()。该方法使用replace()方法将\r替换为\\r,\n替换为\\n。这样,原本用于换行的转义序列就变成了字符串字面量,避免了System.out.println()的特殊处理。
改进后的代码如下:
立即学习“Java免费学习笔记(深入)”;
public static void main(String[] args) {
String b = String.format("The data download task succeed. %nName:%s ", "1");
printWithEscapeSequences(b);
String a = "The data download task succeed. \r\n" +
"Name:1 ";
printWithEscapeSequences(a);
System.out.println(a.equals(b)); // 验证两者相等
}
public static void printWithEscapeSequences(String str) {
String replaced = str.replace("\r", "\\r").replace("\n", "\\n");
System.out.println(replaced);
}
通过printWithEscapeSequences()方法,即可在控制台中看到包含\r和\n转义字符的字符串字面值,满足了原文的需求。











