Java控制台如何打印换行符和 而不换行?

Java控制台输出换行符的正确显示方法

本文介绍如何在Java控制台中,直接显示换行符\r\n,而不是让它们产生实际的换行效果。

问题:现有代码使用String.format()\r\n创建包含换行符的字符串,打印到控制台后,\r\n导致了换行。但需求是直接显示\r\n字符本身。

解决方案:创建一个辅助方法printWithEscapeSequences,该方法使用replace()方法将输入字符串中的\r替换为\r\n替换为\n。这样,\r\n就被转义成了字面量,从而在控制台中显示为\r\n,而不是执行换行操作。

改进后的代码如下:

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 escapedStr = str.replace("\r", "\\r").replace("\n", "\\n"); System.out.println(escapedStr); }

通过printWithEscapeSequences方法,我们成功地将换行符以其字面形式打印到控制台,满足了需求。该方法简洁高效,通过简单的字符串替换实现了对换行符的转义,避免了其换行效果。