当前位置: 首页 > 知识库问答 >
问题:

java 怎么在控制台把换行符打印出来?

於英朗
2023-10-23

在windows环境下

    public static void main(String[] args) {        String b = String.format("The data download task succeed. %nName:%s ", "1");        System.out.println(b);        String a = "The data download task succeed. \r\n" +                "Name:1 ";        System.out.println(a);        System.out.println(a.equals(b));    }

运行结果为

The data download task succeed. Name:1 The data download task succeed. Name:1 true

有没有方式可以在控制台不格式化显示,而把原样的换行符打印出来,类似下面这样

The data download task succeed. \r\n Name:1 

共有4个答案

缪远
2023-10-23

通过控制台打印来看分割符是不可靠的。可以直接通过System.lineSeparator()来获取当前操作系统的换行符,然后在代码里针对不同操作系统进行特定的处理。

萧元徽
2023-10-23

转义'\'

 String a = "The data download task succeed. \\r\\n" +                "Name:1 ";
裘光启
2023-10-23

不改代码就只能替换System.out了,java io 的 api 都可以这么套娃操作(装饰器模式)

    public static void main(String[] args) {        String testText = "xxx\r\n";        System.out.println(testText);        // 获取当前的 out        PrintStream oldOut = System.out;        // 在当前的 out 上包装一层,将输出内容里的特殊字符进行替换        PrintStream newOut = new PrintStream(oldOut) {            @Override            public void println(String x) {                String s = x;                if (s != null) {                    s = s.replaceAll("\n", "\\\\n");                    s = s.replaceAll("\r", "\\\\r");                }                super.println(s);            }        };        // 设置新 out        System.setOut(newOut);        System.out.println(testText);    }
冯和硕
2023-10-23
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);}
 类似资料:
  • 问题内容: 是否有一种无需尾随换行符即可打印到控制台的方法?该对象的文档并没有说关于任何东西: 用换行符打印到标准输出。该函数可以采用类似的方式接受多个参数。例: 如果在第一个字符串中找不到格式设置元素,则在每个参数上使用格式设置元素。 问题答案: 您可以使用: 有关详细信息,请参阅文档。

  • 我在NetBeans IDE中使用Java编写了一个简单的程序。在今天早上对main方法做了一些更改后,当我运行程序时,控制台不会打印任何东西。我只是想让它到达startMenus(sc)。编辑:我现在已经放入了一些system.out.println(),但它没有达到“blah2”,就在我的第一个循环之后...

  • 由来 编码中我们常常需要调试输出一些信息,除了打印日志,最长用的要数System.out和System.err 比如我们打印一个Hello World,可以这样写: System.out.println("Hello World"); 但是面对纷杂的打印需求,System.out.println无法满足,比如: 不支持参数,对象打印需要拼接字符串 不能直接打印数组,需要手动调用Arrays.to

  • 问题内容: 如何在C中擦除当前打印的控制台行?我正在Linux系统上工作。例如 - 我想在同一行上打印再见,代替您好。 问题答案: 您可以使用VT100转义码。包括xterm在内的大多数终端都支持VT100。要擦除线,此为。在C中,它给出:

  • 所以我有一个家庭作业,要求我做以下事情: < li >该公司最近改变了其年度总薪酬政策,以提高销售额 < li >销售人员将继续获得55,000.00美元的固定工资。每个销售人员的当前销售目标是100,000.00美元。 < li >只有完成80%的销售目标,销售激励才会开始。目前的佣金是总销售额的14%。 < li >如果销售人员超额完成销售目标,佣金将根据加速系数增加。加速系数为1.40。 <

  • 问题语句:我有一个在Xcode中运行的程序,它有一堆print()语句,可以很好地将输出打印到调试控制台。然而,我希望也能够将这些输出重定向到一个文件,这样我就可以让用户将它们发送给我,作为调试的一种方式。 SO上找到的解决方案使我可以将输出重定向到文件,但调试控制台输出将丢失。 问:我想要我的蛋糕和吃它。我希望能够将print()语句重定向到调试控制台和文件。 所以我有引用:https://st