У меня есть программа на Java, работающая в режиме командной строки. Я хотел бы отобразить индикатор выполнения, показывающий процент выполненной работы. Такой же индикатор выполнения вы увидите при использовании wget под unix. Возможно ли это?
public static void main(String[] argv) throws Exception{ System.out.write("\r".getBytes()); int percentage =10; while(percentage <= 100) { String temp =generateStars(percentage); System.out.write(temp.getBytes()); System.out.print("\b\b\b"); percentage = percentage+10; Thread.sleep(500); } } public static String generateStars(int percentage) { int startsNum = percentage / 4; StringBuilder builder = new StringBuilder(); while(startsNum >= 0) { builder.append("*"); startsNum--; } builder.append(percentage+"%"); return builder.toString(); }
public class Main { public static void main(String[] args) throws Exception { System.out.println("Loading : "); int count =1; for(int j=1;j<150;j++){ System.out.print("\r"); if(count==1){ System.out.print("/"); count++; } else if(count==2){ System.out.print("|"); count++; } else if(count==3){ System.out.print("-"); count++; } else if(count==4){ System.out.print("\\"); count++; } else if(count==5){ System.out.print("|"); count++; } else count = 1; Thread.sleep(200); } } }
public class ProgressBar { private int max; public ProgressBar(int max0) { max = max0; update(0); } public void update(int perc) { String toPrint = "|"; for(int i = 0; i < max; i++) { if(i <= (perc + 1)) toPrint += "="; else toPrint += " "; } if(perc >= max) Console.print("\r"); else Console.print(toPrint + "|\r"); } }