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實現檔案下載進度條顯示
- 進度條和列表形式顯示的控制元件控制元件
- LVGL高效顯示進度條
- 【CLI】使用 Curl 下載檔案實時進度條顯示
- Excel實現完成進度的進度條結果Excel
- 記錄個簡單的進度條同步顯示方法
- 直播平臺軟體開發,讓原本沒有進度條的頁面顯示進度條
- 在Mac終端顯示 Git 當前所在分支MacGit
- unity 實現滑鼠控制角色移動和角色頭部的血條顯示Unity
- golang 進度條功能實現Golang
- 直播app系統原始碼,固定速度的進度條顯示APP原始碼
- Neofetch:在終端中顯示 Linux 系統資訊Linux
- 在終端裡按你的方式顯示日期和時間
- 短視訊商城系統,Android進度條,自定義進度條,顯示百分比Android
- 直播app開發,點選螢幕時顯示進度條APP
- 如何自定義終端顯示配置
- 直播平臺原始碼,通知欄中顯示滑動的進度條原始碼
- iOS實現音訊進度條效果iOS音訊
- React 實現 instagram 風格進度條React
- 實現環形進度條效果【一】
- JavaScript 原生實現進度條元件.mdJavaScript元件
- Qml 實現水波進度動畫條動畫
- 【UWP】實現一個波浪進度條
- JS進度條順滑版實現JS
- 簡單實現帶節點的進度條
- c# 控制檯console進度條C#
- 敲擊鍵盤後字元怎麼出現在顯示器字元
- Ubuntu在頂端實時顯示網速Ubuntu
- Python世界tqdm進度條顯示等新潮小工具推薦Python
- HTML5觸控事件實現移動端簡易進度條HTML事件
- 如何在終端中顯示圖片
- xshell終端顯示亂碼的處理方法
- CSS3實現原型進度條效果CSSS3原型
- pyqt5的下載進度條 實現模板QT
- 【新特性速遞】進度條,進度條,進度條
- 解決單執行緒QT UI 載入進度條實時顯示方案記錄執行緒QTUI
- 直播平臺製作,Glide載入網路圖,進度條顯示IDE
- uni-app中安卓包檢查更新、新版本下載、下載進度條顯示功能實現APP安卓