基于Java控制台的进度条演示

时间:2017-06-02 05:59:43

标签: java console

从命令行安装某些软件包时,有时您可以看到控制台中显示的进度条。并根据进度在同一行更新。

更新后如何清除屏幕?

1 个答案:

答案 0 :(得分:1)

  

我在Java 8中使用Mac。这个演示适用于我。我没有在Windows上测试它:(

     

注意:如果您在IDE中运行代码(例如IntelliJ,Eclipse等),它可能无法正常工作。测试它的正确位置在终端。

运行步骤

  1. 打开此代码位于终端中的文件夹;
  2. 编译代码javac Demo.java
  3. 运行java Demo

    import java.io.IOException;
    import java.util.concurrent.TimeUnit;
    
    public class Demo {
      public static void main(String[] args) throws InterruptedException, IOException {
    
        int i = 0;
        int j;
    
        while (i <= 100) {
          System.out.print("\033[H\033[2J");
          j = 0;
          for (j = 0; j < i; j++) {
            System.out.print('■');
          }
          for (; j <= 100; j++) System.out.print(' ');
          System.out.print(i + "%");
          TimeUnit.SECONDS.sleep(1);
          i += 2;
        }
      }
    }
    
  4. PS。

    在上面的代码中,您可能会对此行感到困惑:System.out.print("\033[H\033[2J");

    • &#39; H&#39;意味着移动到屏幕顶部
    • &#39; 2J&#39;意味着&#34;清除整个屏幕&#34;

    以下是详细的explanation