簡體   English   中英

Jansi不斷增加縮進量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM