首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Java中刷新单控制台线路

在Java中刷新单控制台线路
EN

Stack Overflow用户
提问于 2012-12-15 16:18:36
回答 2查看 181关注 0票数 0

我正在实现一个命令行的mp3播放器。

我想像这样显示mp3的持续时间

代码语言:javascript
复制
Now Playing :: hello.mp3 Duration :: 1.20 

但是当我使用System.out.println时,它会显示

代码语言:javascript
复制
Now Playing :: hello.mp3 Duration :: 1.20 
Now Playing :: hello.mp3 Duration :: 1.21 
Now Playing :: hello.mp3 Duration :: 1.22 
Now Playing :: hello.mp3 Duration :: 1.23 
Now Playing :: hello.mp3 Duration :: 1.24 
Now Playing :: hello.mp3 Duration :: 1.25
..... 

基本上,通过线程更新的持续时间,我想要显示它的单行,我的意思是持续时间必须在单行更新。我已经看过Flushable interface了,但没有拿到。请帮帮我

这是我的帖子

代码语言:javascript
复制
while(p.getPlayer().isComplete() == false){
String bOutput = "\r Duration ::" + (int) ((p.getPlayer().getPosition() / (1000*60)) % 60) + " : " + (int) (p.getPlayer().getPosition() / 1000) % 60;
//p.getBufferedOutputStream().write(bOutput.getBytes());
//p.getBufferedOutputStream().flush();
System.out.println(bOutput);

Thread.sleep(1000);
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-15 17:11:01

代码语言:javascript
复制
while(p.getPlayer().isComplete() == false){
String bOutput = "Duration ::" + (int) ((p.getPlayer().getPosition() / (1000*60)) % 60) + " : " + (int) (p.getPlayer().getPosition() / 1000) % 60;
System.out.println(bOutput+"\r");

Thread.sleep(1000);
}

这就解决了我的问题。

注意:当我在** CMD Eclipse Console**,和 works上运行它时,在中看不到任何效果

票数 0
EN

Stack Overflow用户

发布于 2012-12-15 16:24:01

很明显,有东西在多次调用println。如果你不想要多行代码,那么修改你的代码,这样它就不会这样做了。

这既不是线程的“错误”,也不是println的“错误”,也与刷新无关。问题出在代码的逻辑上……但是我们不能再多说了,因为你还没有展示给我们看。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13890559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档