【发布时间】:2010-04-15 05:57:07
【问题描述】:
我在命令行模式下使用 7zip。
当操作耗时较长时,有时会显示一个进程百分比。
我想知道我们是否要使用 C#/Java 来执行此操作,使用什么库?
问候,
【问题讨论】:
我在命令行模式下使用 7zip。
当操作耗时较长时,有时会显示一个进程百分比。
我想知道我们是否要使用 C#/Java 来执行此操作,使用什么库?
问候,
【问题讨论】:
您可以打印“回车”,也称为'\r',以将“光标”重置到行首。
System.out.printf("Progress: %3d %% \r", percentComplete);
现在,每次打印该行时,您都会被送回起点,因此下一个百分比会覆盖前一个百分比。
【讨论】:
没有图书馆。您只需打印到控制台 System.out.print(不是 println!),然后发送退格字符以清除该行。
System.out("Progress 5");
System.out("\b\b\b\b\b\b\b\b\b\b");
System.out("Progress 10");
我有一段时间没有这样做了,但应该这样做。
【讨论】:
\r 直接跳到行首.
你可以清除控制台的踢...哦,别忘了 string.format 有百分比支持...
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var perc = 0.0;
while(perc <= 1.0)
{
Threading.Thread.Sleep(50); //simulate doing some work
//EDIT:
//Console.Clear();
Console.Write(String.Format("{0:P}\r", perc)); //as per suggestion
perc += 0.01;
}
Console.WriteLine("Press any key to exit");
var exit = Console.ReadKey();
}
}
}
【讨论】: