在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
通过控制台打印来看分割符是不可靠的。可以直接通过System.lineSeparator()来获取当前操作系统的换行符,然后在代码里针对不同操作系统进行特定的处理。
转义'\'
String a = "The data download task succeed. \\r\\n" + "Name:1 ";
不改代码就只能替换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); }
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