Java實現在控制終端顯示的字元進度條
今天看到一個很有意思的小程式,記錄一下
轉自:
http://aofengblog.blog.163.com/blog/static/6317021201362723025426/
-
import java.text.DecimalFormat;
-
-
/**
-
* 控制檯字元型進度條。
-
*
-
* @author 傲風 <aofengblog@163.com>
-
*/
-
public class ConsoleProgressBar {
-
-
private long minimum = 0; // 進度條起始值
-
-
private long maximum = 100; // 進度條最大值
-
-
private long barLen = 100; // 進度條長度
-
-
private char showChar = '='; // 用於進度條顯示的字元
-
-
private DecimalFormat formater = new DecimalFormat("#.##%");
-
-
/**
-
* 使用系統標準輸出,顯示字元進度條及其百分比。
-
*/
-
public ConsoleProgressBar() {
-
}
-
-
/**
-
* 使用系統標準輸出,顯示字元進度條及其百分比。
-
*
-
* @param minimum 進度條起始值
-
* @param maximum 進度條最大值
-
* @param barLen 進度條長度
-
*/
-
public ConsoleProgressBar(long minimum, long maximum,
-
long barLen) {
-
this(minimum, maximum, barLen, '=');
-
}
-
-
/**
-
* 使用系統標準輸出,顯示字元進度條及其百分比。
-
*
-
* @param minimum 進度條起始值
-
* @param maximum 進度條最大值
-
* @param barLen 進度條長度
-
* @param showChar 用於進度條顯示的字元
-
*/
-
public ConsoleProgressBar(long minimum, long maximum,
-
long barLen, char showChar) {
-
this.minimum = minimum;
-
this.maximum = maximum;
-
this.barLen = barLen;
-
this.showChar = showChar;
-
}
-
-
/**
-
* 顯示進度條。
-
*
-
* @param value 當前進度。進度必須大於或等於起始點且小於等於結束點(start <= current <= end)。
-
*/
-
public void show(long value) {
-
if (value < minimum || value > maximum) {
-
return;
-
}
-
-
reset();
-
minimum = value;
-
float rate = (float) (minimum*1.0 / maximum);
-
long len = (long) (rate * barLen);
-
draw(len, rate);
-
if (minimum == maximum) {
-
afterComplete();
-
}
-
}
-
-
private void draw(long len, float rate) {
-
for (int i = 0; i < len; i++) {
-
System.out.print(showChar);
-
}
-
System.out.print(' ');
-
System.out.print(format(rate));
-
}
-
-
private void reset() {
-
System.out.print('\r');
-
}
-
-
private void afterComplete() {
-
System.out.print('\n');
-
}
-
-
private String format(float num) {
-
return formater.format(num);
-
}
-
-
public static void main(String[] args) throws InterruptedException {
-
ConsoleProgressBar cpb = new ConsoleProgressBar(0, 100, 20, '=');
-
for (int i = 1; i <= 100; i++) {
-
cpb.show(i);
-
Thread.sleep(100);
-
}
-
}
-
- }
http://aofengblog.blog.163.com/blog/static/6317021201362723025426/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-1162488/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 直播系統開發,實現在進度條中顯示文字顯示進度
- OSS實現檔案下載進度條顯示
- 進度條和列表形式顯示的控制元件控制元件
- Python實現控制檯中的進度條Python
- 使用Java高速實現進度條Java
- 【Dflying Chen 】使用ASP.NET Atlas編寫顯示真實進度的ProgressBar(進度條)控制元件ASP.NET控制元件
- 轉:在ABAP中實現進度條的例子
- 【CLI】使用 Curl 下載檔案實時進度條顯示
- MapSCII:在終端顯示世界地圖地圖
- 記錄個簡單的進度條同步顯示方法
- 直播平臺軟體開發,讓原本沒有進度條的頁面顯示進度條
- 在Mac終端顯示 Git 當前所在分支MacGit
- golang 進度條功能實現Golang
- clip實現圓環進度條
- 命令列進度條實現命令列
- h5實現手機端等級進度條H5
- 直播app系統原始碼,固定速度的進度條顯示APP原始碼
- 打造可顯示上傳內容的自定義進度條
- 基於uploadify.js實現多檔案上傳和上傳進度條的顯示JS
- 報表載入大資料時顯示進度條大資料
- 程式執行時,一個進度條顯示INCLUDE程式
- unity 實現滑鼠控制角色移動和角色頭部的血條顯示Unity
- ASP.NET實現進度條ASP.NET
- Qml 實現水波進度動畫條動畫
- 短視訊商城系統,Android進度條,自定義進度條,顯示百分比Android
- Neofetch:在終端中顯示 Linux 系統資訊Linux
- Android自定義控制元件系列之圓形進度條的實現Android控制元件
- 如何自定義終端顯示配置
- linux 終端顯示時間Linux
- 直播app開發,點選螢幕時顯示進度條APP
- 在sql*plus中顯示長字元SQL字元
- 直播平臺原始碼,通知欄中顯示滑動的進度條原始碼
- Delphi下載指定網址(URL)的檔案,帶進度條顯示
- JavaScript 原生實現進度條元件.mdJavaScript元件
- JS進度條順滑版實現JS
- iOS實現音訊進度條效果iOS音訊
- 【UWP】實現一個波浪進度條
- 實現環形進度條效果【一】