[java] Jansi를 사용하여 터미널에서 텍스트 출력 형식을 변경하는 방법

프로그램을 개발하거나 터미널에서 작업을 할 때, 텍스트 출력의 형식을 변경하는 것은 매우 중요합니다. Jansi는 Java를 사용하여 터미널에서 텍스트 형식을 제어할 수 있는 라이브러리입니다. 이번 글에서는 Jansi를 사용하여 터미널에서 텍스트 출력 형식을 변경하는 방법에 대해 알아보겠습니다.

Jansi란?

Jansi는 Java에서 ANSI escape 코드를 처리하는 라이브러리입니다. ANSI escape 코드는 터미널에서 텍스트의 색상, 배경색, 폰트 스타일 등을 변경하는 데 사용됩니다. Jansi를 사용하면 Java 애플리케이션에서도 터미널에서와 같은 텍스트 형식을 적용할 수 있습니다.

Jansi 사용하기

Jansi를 사용하기 위해 먼저 Maven 또는 Gradle과 같은 의존성 관리 도구를 사용하여 Jansi를 프로젝트에 추가해야 합니다.

// Maven
<dependency>
  <groupId>org.fusesource.jansi</groupId>
  <artifactId>jansi</artifactId>
  <version>1.18</version>
</dependency>

// Gradle
implementation 'org.fusesource.jansi:jansi:1.18'

위와 같이 의존성을 추가하면 Jansi를 사용할 수 있습니다.

색상 변경하기

Jansi를 사용하여 출력되는 텍스트의 색상을 변경하는 것은 매우 간단합니다. 아래의 코드를 참고해보세요.

import org.fusesource.jansi.Ansi;
import org.fusesource.jansi.AnsiConsole;

public class ColorExample {
    public static void main(String[] args) {
        AnsiConsole.systemInstall();

        // 색상 변경을 위한 ANSI escape 코드 생성
        String redText = Ansi.ansi().fg(Ansi.Color.RED).a("Red Text").reset().toString();
        String greenText = Ansi.ansi().fg(Ansi.Color.GREEN).a("Green Text").reset().toString();

        // 텍스트 출력
        System.out.println(redText);
        System.out.println(greenText);

        AnsiConsole.systemUninstall();
    }
}

위 코드에서는 Ansi.ansi().fg(Ansi.Color.RED)를 사용하여 빨간색 텍스트를 생성하고, Ansi.ansi().fg(Ansi.Color.GREEN)을 사용하여 초록색 텍스트를 생성합니다. reset()은 ANSI escape 코드를 초기화하는 역할을 합니다.

스타일 변경하기

텍스트의 스타일을 변경하는 것도 Jansi로 가능합니다. 아래의 예제 코드를 참고해보세요.

import org.fusesource.jansi.Ansi;
import org.fusesource.jansi.AnsiConsole;

public class StyleExample {
    public static void main(String[] args) {
        AnsiConsole.systemInstall();

        // 스타일 변경을 위한 ANSI escape 코드 생성
        String boldText = Ansi.ansi().bold().a("Bold Text").reset().toString();
        String italicText = Ansi.ansi().italic().a("Italic Text").reset().toString();

        // 텍스트 출력
        System.out.println(boldText);
        System.out.println(italicText);

        AnsiConsole.systemUninstall();
    }
}

위 코드에서는 Ansi.ansi().bold()를 사용하여 텍스트를 굵게 만들고, Ansi.ansi().italic()을 사용하여 텍스트를 이탤릭체로 만듭니다.

요약

Jansi를 사용하면 Java 애플리케이션에서 터미널에서와 같은 텍스트 형식을 적용할 수 있습니다. 위의 예제 코드를 참고하여 텍스트의 색상, 배경색, 폰트 스타일 등을 변경하는 방법을 익히실 수 있습니다. 더 자세한 사용법은 Jansi의 공식 문서를 참조하시기 바랍니다.

참고 자료