在Java中怎样实现输出到cmd控制台的时候不换行 ?

比如说,我从一个TXT文本文件中读取数据到BufferedReader,然后调用readLine获取每一行的数据内容到String对象,通常情况下我们会再调用printl... 比如说,我从一个TXT文本文件中读取数据到BufferedReader,然后调用readLine获取每一行的数据内容到String对象,通常情况下我们会再调用println方法输出这个String对象到cmd控制台,其实这也没什么,但是在输出到cmd控制台的时候,每一行数据都会占用cmd控制台的一行,我现在想在cmd控制台实现不换行输出,也就是文本文件中的每一行数据都是在cmd命令行的同一行打印并显示(下一行要清空上一行的内容,我尝试了,java中无法调用cls命令),不知道在Java中应该怎样实现 ,请各位朋友给点思路 ! 谢谢! 展开
 我来答
artintin
2013-06-29 · TA获得超过1.2万个赞
知道大有可为答主
回答量:7508
采纳率:80%
帮助的人:2847万
展开全部
用回车\r即可
如 System.out.print("\r当前时间:" + format.format(new java.util.Date()));
当然这需要每次输出的长度是一样的,否则若后面的数据较短,就无法将上一次的全部覆盖掉。
解决方法:先用“\r”+足够多的空格清空行
另外为了看清效果,每打印一行需暂停一会,如下面代码:
public class Test {
public static void main(String... a) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
for(int i=0; i<100; i++) {
System.out.print("\r当前时间:" + format.format(new java.util.Date()));
try {
Thread.sleep(1000);
} catch (Exception e) {}
}
}
}
追问
while ((strXmlLine = br.readLine()) != null)  {
System.out.print("\r" + strXmlLine);
Thread.sleep(1000);
}
你说的方法很接近我的要求了,正如你说的,“若后面的数据较短,就无法将上一次的全部覆盖掉”, 那么应该在哪里加“足够多的空格清空行”呢?
追答
控制台每行缺省好像是80个空格,具体是多少需要你自行测试一下
定义一个字符串String Space80等于长度为80的空格;
while ((strXmlLine = br.readLine()) != null) {
System.out.print("\r" + Space80);
System.out.print("\r" + strXmlLine);
Thread.sleep(1000);
}
wssiqi
2013-06-29 · TA获得超过751个赞
知道小有建树答主
回答量:582
采纳率:100%
帮助的人:598万
展开全部
不知道你是不是想用这个System.out.print("字符串");这个输出是不会换行的,你看看能不能帮助到你……
追问
System.out.print("第一行数据"); 在cmd控制台输出了第一行数据之后,之后我想在cmd控制台的同一个位置输出第二行数据的内容,也就是第二行数据要覆盖掉第一行数据的内容并显示!直接使用System.out.print("行数据"); 会在cmd控制台后面直接append每一行的数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式