Java outputStream“\";在cmd上未按预期工作

Java outputStream“\";在cmd上未按预期工作,java,cmd,printing,serversocket,outputstream,Java,Cmd,Printing,Serversocket,Outputstream,我正在玩serverSocket,我发现在cmd中连接并尝试使用“\n”在下一行显示输出时,下一个字符串不会从该行的开头开始: for (int i = 0; i <10; i++) { outputStream.write(("Time is " + new Date() + "\n").getBytes()); Thread.sleep(1000); } for(inti=0;iInfo 与其他将“\n”作为换行符的操作系统不同

我正在玩serverSocket,我发现在cmd中连接并尝试使用“\n”在下一行显示输出时,下一个字符串不会从该行的开头开始:

for (int i = 0; i <10; i++) {
    outputStream.write(("Time is " + new Date() + "\n").getBytes());
    Thread.sleep(1000);
}
for(inti=0;iInfo

与其他将
“\n”
作为换行符的操作系统不同,Windows具有
“\r\n”
。 (还要注意,命令行是缓冲的。)

  • “\r”
    =CR=回车=转到行首
  • “\n”
    =LF=换行符=转到下一行
这是经典的类型编写器控件“API”

(拖板是一种轨道上的小拖板,有一个(通常为V形)开口,用于打印信件。右边的手柄首先将拖板向左移动,然后再按下可将卷起的两条半线移动。)

我没想到会看到它在Windows/CMD.exe中仍然存在

将使用平台独立

System.lineSeparator().getBytes()
信息

与其他将
“\n”
作为换行符的操作系统不同,Windows具有
“\r\n”
。 (还要注意,命令行是缓冲的。)

  • “\r”
    =CR=回车=转到行首
  • “\n”
    =LF=换行符=转到下一行
这是经典的类型编写器控件“API”

(拖板是一种轨道上的小拖板,有一个(通常为V形)开口,用于打印信件。右边的手柄首先将拖板向左移动,然后再按下可将卷起的两条半线移动。)

我没想到会看到它在Windows/CMD.exe中仍然存在

将使用平台独立

System.lineSeparator().getBytes()

尝试System.lineSeparator()而不是“\n”lineSeparator,我还发现在\r\n之前添加同样有效,感谢helpoutputStream.write(((“时间是“+新日期()+系统.lineSeparator()).getBytes());尝试System.lineSeparator()与“\n”lineSeparator的工作方式不同,我还发现在\r\n之前添加同样有效,这要感谢helpoutputStream.write((“时间是”+new Date()+System.lineSeparator()).getBytes());