[英]Jansi keeps incrementing indentation
我似乎無法擺脫以前印刷的線條。 如果我只是做
AnsiConsole.out.println(ansi);
每個連續輸出重復相同的輸出。 例如A AB ABC
即使輸出只應該是
ABC
我的代碼是:
AnsiConsole.out.println(a);
a.eraseLine(Erase.ALL);
AnsiConsole.out.flush;
如果我不使用a.eraseLine(Erase.ALL),它看起來像這樣:
另外,如果我不使用Jansi並使用普通的System.out,它看起來像這樣,所以我知道這與其他地方的代碼無關。
解決方案:感謝Betlista的回答。 我發現了問題所在。 問題是我的ansi變量實際上是使用Ansi構造函數而不是Ansi.ansi()方法調用的。 那是我代碼中的不同之處。 謝謝。 :)
看來您做錯了什么,但是您的帖子中缺少很多信息,很難遵循...
...所以我會寫出它對我的作用:
我在Windows 7上測試的1.11版中將jansi與maven一起使用。
我只是按照https://github.com/fusesource/jansi和我的代碼上的信息進行操作
package jansi;
import java.io.IOException;
import org.fusesource.jansi.Ansi;
import org.fusesource.jansi.Ansi.Color;
import org.fusesource.jansi.AnsiConsole;
public class Main {
public static void main(String[] args) throws IOException {
AnsiConsole.systemInstall();
String[] sa = {"A", "B", "C"};
Color[] ca = {Color.RED, Color.GREEN, Color.BLUE};
for (int i = 0; i < sa.length; ++i ) {
System.out.println(Ansi.ansi().eraseLine().fg(ca[i]).a(sa[i]).reset());
}
}
}
完全按照我的預期做,這就是結果:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.