在科学技术与经济水平高速发展的21世纪,掌握一门扎实的技术对每一个人来说都是极其重要的。今天主要为大家介绍一下,java中进度条功能的实现原理是什么,以及通过一个实例代码来向大家展示究竟该怎么操作。
首先,我们需要知道的是,进度条功能执行命令的原理是什么?
它的关键是用到了这个函数:
System.out.print("\b");
其中转义符\b的作用就是删除游标前面的一个字符。
这里为大家举例说明一下:
System.out.print("hello,world!"); System.out.print("\b\b");
执行完第一行后是输出:
hello, world!
注意这里用的都是print函数,而不是println函数。当我们执行到第二行后,输出就变为:
hello, worl
因为有两个\b,所以删除两个字符,因此删掉了d和!,还剩下hello,worl。这就是它的原理,原理了解了之后,它的效果实现就比较简单了。接下来通过一个实例代码来为大家展示。
实例如下所示:
public class ProgressBar { private int index = 0; private String finish; private String unFinish; // 进度条粒度 private final int PROGRESS_SIZE = 50; private int BITE = 2; private String getNChar(int num, char ch) { StringBuilder builder = new StringBuilder(); for (int i = 0; i < num; i++) { builder.append(ch); } return builder.toString(); } public void printProgress() throws InterruptedException { System.out.print("Progress:"); finish = getNChar(index / BITE, '█'); unFinish = getNChar(PROGRESS_SIZE - index / BITE, '─'); String target = String.format("%3d%%[%s%s]", index, finish, unFinish); System.out.print(target); while (index <= 100) { finish = getNChar(index / BITE, '█'); unFinish = getNChar(PROGRESS_SIZE - index / BITE, '─'); target = String.format("%3d%%├%s%s┤", index, finish, unFinish); System.out.print(getNChar(PROGRESS_SIZE + 6, '\b')); System.out.print(target); Thread.sleep(50); index++; } } }
以上就是关于java进度条功能的实现原理,以及相关的代码实例展示。想要了解更多有关java程序代码例子,敬请关注奇Q工具网。
推荐阅读: