gpt4 book ai didi

Java 命令行界面 : having multiple progress bars on different lines using '\r'

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:10:31 25 4
gpt4 key购买 nike

我正在编写的程序的命令行界面的一部分调用了多个进度条。我目前可以通过使用 \r 转义序列和类似于此的内容来更新控制台中的一行:

System.out.printf("\rProcess is %d%% complete", percentageComplete);

然而,回车只能返回到该行的开头。我想要一种返回两行(或更一般地说,任意数量的行)并让它们全部/全部更新的方法。

有什么办法吗?

最佳答案

我已经为命令行进度条编写了一个小项目,它可以做一个衬垫或一个“主/细节” - 参见 https://github.com/tomas-langer/cli/tree/master/cli-progress .它也适用于 Windows - 使用 ANSI 转义序列和 MS Windows 的 native 实现(Chalk + Jansi)

如果您想做更多的事情,请查看 Chalk 库 ( https://github.com/tomas-langer/chalk ),它又使用 Jansi(在之前的帖子中已经提到)。

line up和clear line的ansi转义码在Chalk库中。使用它们:

import com.github.tomaslanger.chalk.Ansi;
...
System.out.print(Ansi.cursorUp(2)); //move cursor up two lines
System.out.print(Ansi.eraseLine()); //erase current line

关于Java 命令行界面 : having multiple progress bars on different lines using '\r' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12197963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com