关于Java中System.out输出信息到命令台窗口,反复更改同一段信息的问题

最近用java做一个程序(只能用java做),程序打成jar文件,并通过.bat文件调用。
其中我希望在程序中用System.out.print输出当前执行的进度,比如“59%”,现在我每调用一次System.out的相关方法,那么之前的信息始终停留,最后结果是1%15%65%99%100%,这不是我想要的,我希望15%出现时候1%就被覆盖掉,请问怎么实现?
我觉得应该存在实现的方式,因为我在使用Maven时候在下载组件时候在控制台输出过类似的提示信息。

System.out.printf("%4s", "15%");
    System.out.printf("\r%4s", "1%");

考虑使用/r

用个临时变量保存 当前进度 例如:
String temp="";
//加载进度方法 修改 temp 的值
temp+="";
System.out.print(temp);

调用cls命令清屏

[code="java"] Runtime.getRuntime().exec("cls");
//或者 ProcessBuilder pb = new ProcessBuilder("cls");
pb.start();[/code]