Skip to content
Terminal-based progress bar for Java/JVM
Branch: master
Clone or download
Latest commit dd4b49c Mar 30, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs 0.7.3 Mar 31, 2019
src 0.7.3 Mar 31, 2019
.gitignore
CHANGELOG.md 0.7.3 Mar 31, 2019
LICENSE 0.7.3 Mar 31, 2019
README.md 0.7.3 version update Mar 31, 2019
mkdocs.yml 0.7.3 Mar 31, 2019
pom.xml

README.md

progressbar

Maven Central

A console progress bar for JVM with minimal runtime overhead.

Menlo, Fira Mono, Source Code Pro or SF Mono are recommended for optimal visual effects.

For Consolas or Andale Mono fonts, use ProgressBarStyle.ASCII because the box-drawing glyphs are not aligned properly in these fonts.

Documentation

Installation

Maven:

  <dependency>
      <groupId>me.tongfei</groupId>
      <artifactId>progressbar</artifactId>
      <version>0.7.3</version>
  </dependency>

Usage

Declarative usage (since 0.6.0):

// Looping over a collection:
for (T x : ProgressBar.wrap(collection, "TaskName")) {
    ...
    // Progress will be automatically monitored by a progress bar
}

Imperative usage (since 0.7.0 switched to Java's try-with-resource pattern):

// try-with-resource block
try (ProgressBar pb = new ProgressBar("Test", 100)) { // name, initial max
 // Use ProgressBar("Test", 100, ProgressBarStyle.ASCII) if you want ASCII output style
  for ( /* TASK TO TRACK */ ) {
    pb.step(); // step by 1
    pb.stepBy(n); // step by n
    ...
    pb.stepTo(n); // step directly to n
    ...
    pb.maxHint(n);
    // reset the max of this progress bar as n. This may be useful when the program
    // gets new information about the current progress.
    // Can set n to be less than zero: this means that this progress bar would become
    // indefinite: the max would be unknown.
    ...
    pb.setExtraMessage("Reading..."); // Set extra message to display at the end of the bar
  }
} // progress bar stops automatically after completion of try-with-resource block

Changelog

CHANGELOG

You can’t perform that action at this time.