eclipse 为什么System.out.print(“\r“消息)正在打印新行?

41zrol4v  于 2022-11-23  发布在  Eclipse
关注(0)|答案(1)|浏览(214)

我想通过重写同一行来更新控制台进度状态,但每次打印都会在新行中。我使用的是Windows 10 pro、Eclipse IDE、Oracle Java 1.8,源代码编码是UTF-8。
我的代码:

String message;
ArrayList<String> fileList = new ArrayList();
fileList.add("file1");
fileList.add("file2");
fileList.add("file3");
for (String fileName : fileList) {
    message = "Procesing file number: " + fileName;
    System.out.print("\r" + message);
}

控制台输出为(3个不同的行):

Procesing file number: file1
Procesing file number: file2
Procesing file number: file3

为什么System.out.println()会像使用System.out.println()一样在新的一行中打印呢?我还尝试了“Character.toChars(13)”和“(char)13”,结果都是一样的。

wf82jlnq

wf82jlnq1#

已解决,感谢user16320675的注解:
Eclipse有一个专门用于此目的的设置:右键单击控制台并选择首选项;或菜单窗口〉首选项〉运行/调试〉控制台-最后一个复选框:“将回车(\r)解释为控制字符”
我已经对评论投了赞成票(我不能把它标记为最好的解决方案,因为它是一个评论,而不是一个答案)。

相关问题