问题描述
我正在使用serverSocket,我发现在cmd中连接并尝试使用“ \ n”在下一行显示输出时,下一个字符串不是从该行的开头开始:
for (int i = 0; i <10; i++) {
outputStream.write(("Time is " + new Date() + "\n").getBytes());
Thread.sleep(1000);
}
CMD输出:
解决方法
信息
与其他以"\n"
作为换行符的操作系统不同,Windows具有"\r\n"
。
(还请注意,命令行是缓冲的。)
-
"\r"
= CR =回车=转到行首 -
"\n"
= LF =换行=转到下一行
这是经典的类型编写器控件“ API”。
(滑架是导轨上的一个小滑架,带有一个(呈V型的)开口,用于打印字母。向右的手柄首先将滑架向左移动,然后再按一下将向上滚动2个半行)
我不希望看到Windows / CMD.exe中仍然存在这种情况。
使用平台无关
System.lineSeparator().getBytes()