Java实现命令行的进度条

public class ProgressBar {
    private double finishPoint;
    private double barLength;

    public ProgressBar(){
        this.finishPoint = 100;
        this.barLength = 20;
    }

    public ProgressBar(double finishPoint, int barLength){
        this.finishPoint = finishPoint;
        this.barLength = barLength;
    }

    /**
     * 显示进度条
     * @param currentPoint 当前点
     * @param finishPoint 结束点
     * @param barLength 进度条长度(字符)
     * @return 进度条结果
     */
    public void showBarByPoint(double currentPoint) {
        // 根据进度参数计算进度比率
        double rate = currentPoint / this.finishPoint;
        // 根据进度条长度计算当前记号
        int barSign = (int) (rate * this.barLength);
        // 生成进度条
        System.out.print("\r");
        System.out.print(makeBarBySignAndLength(barSign) + String.format(" %.2f%%", rate * 100));
    }

    /**
     * 构造进度条
     * @param barSign 进度条标记(当前点)
     * @param barLength 进度条长度
     * @return 字符型进度条
     */
    private String makeBarBySignAndLength(int barSign) {
        StringBuilder bar = new StringBuilder();
        bar.append("[");
        for (int i=1; i<=this.barLength; i++) {
            if (i < barSign) {
                bar.append("-");
            } else if (i == barSign) {
                bar.append(">");
            } else {
                bar.append(" ");
            }
        }
        bar.append("]");
        return bar.toString();
    }
}
时间: 2025-01-21 06:38:18

Java实现命令行的进度条的相关文章

学生信息管理系统-java基于命令行的学生成绩管理系统

问题描述 java基于命令行的学生成绩管理系统 1.设计学生类接口: 2.使用集合框架,实现学生成绩的插入.通过名字查询.显示各科成绩排名列表.显示各科成绩通过学生学号的排名列表. 3.将内存中的集合框架对象进行持久化,下一次运行系统时可直接调用(基础比较差,希望在线指导,不要求源代码,但求思路指导,) 解决方案 成绩录入.可以录入文件.黑屏 输入姓名+各科成绩.直接流写入txt文件. 查询.可以先将文件按行读出,存储在list或者map中.遍历查询输出即可. 解决方案二: 1.持久化 可以持久

利用java Socket文件上传/进度条实现代码

1.客户端运行程序:  代码如下 复制代码 package wtb.khd; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.OutputStream; import java.net.Socket;

java使用命令行打包JAR_java

1.命令行的方式:打包jar cf JAR文件名称 程序文件名称或者程序所在的文件夹举例:jar cf MyApp.jar D:JavaProjectMyApp查看一个jar文件的内容jar tvf JAR文件名称举例:jar tvf MyApp.jar将一个jar文件解压缩jar xf JAR文件名称举例:jar xf MyApp.jar往压缩包里面增加文件jar xf JAR文件名称 添加的文件或者其他的jar文件举例:jar xf MyApp.jar Test.class更新一个jar文件

【Java】命令行参数的获取及判断

命令行 下面的程序片断获取命令行参数并判断其值,第一个判断保证如果没有参数输入,则输出全部的项目,如果有参数,则由后面的if语句根据判断进行输出. public static void main(String argv[]) { String test = "all"; if (argv.length > 0) { test = argv[0]; } if (test.equals("all") || test.equals("toStreamRes

Java cmd命令行模拟工具

本文介绍一下我写的cmd工具. 界面如下:   说明:最上面那个文本框是用于输入命令,支持的命令有cd,dir,mvn, ....   项目名:sh_script_executor 语言:Java swing 构建工具:maven IDE:eclipse(我的最爱) 项目结构:  重点是用到了SwingWorker 使用SwingWorker 的目的是实时显示命令执行的结果,而不是命令执行完毕之前一点反应也没有,等到执行完毕才一股脑地打印出来.比如我执行mvn clean install 时,在

Java和C#运行命令行的例子对比

呵呵,刚给客户解决了在C#里运行命令行的例子,顺便整理了一下Java的例子,大家参考对比一下 Java的 import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; /** * Java运行命令行的例子 * * @author JAVA世纪网(java2000.net) */ public class TestProcess { public static void ma

Java虚拟机几个命令行参数说明

一.运行class文件 执行带main方法的class文件,Java虚拟机命令参数行为: java <CLASS文件名> 注意:CLASS文件名不要带文件后缀.class 例如: java Test 如果执行的class文件是带包的,即在类文件中使用了: package <包名> 那应该在包的基路径下执行,Java虚拟机命令行参数: java <包名>.CLASS文件名 例如: PackageTest.java中,其包名为:com.ee2ee.test,对应的语句为:

java代码怎么写用命令行调用keytool生成证书

问题描述 java代码怎么写用命令行调用keytool生成证书 java代码怎么写用命令行调用keytool生成证书,最好具体一点,有注释最好 解决方案 http://blog.csdn.net/prstaxy/article/details/30050175http://blog.chinaunix.net/uid-17102734-id-2830223.html 解决方案二: java 调用 keytool 生成keystore 和 cer 证书Java调用命令行java调用命令行

j2me进度条与线程化模型

j2me进度条与线程化模型作者:FavoYang Email:favoyang@yahoo.com 欢迎交流 Keyworld:线程化模型 j2me UI设计 内容提要: 本文研究如何建立一个方便使用的线程化模型,这个线程化模型由前台的进度条UI 和后台的背景线程组成. 版权声明: 本文同时发表在www.j2medev.com和我的Blog(blog.csdn.net/alikeboy)上,如果需要转载,有三个途径:1)联系我并经我同意:2)和www.j2medev.com有转载文章合作协议的