[java] Jansi를 사용하여 자바 프로그램에서 터미널에서 텍스트 입력 받기

자바 프로그램에서 터미널에서 사용자로부터 텍스트를 입력 받아야 하는 경우가 종종 있습니다. 이를 위해 Jansi를 사용할 수 있습니다. Jansi는 자바용 ANSI 이스케이프 시퀀스 라이브러리로, 터미널에서 색상, 폰트 스타일 등을 다루는 데 도움이 됩니다.

다음은 Jansi를 사용하여 자바 프로그램에서 터미널에서 텍스트를 입력 받는 간단한 예제입니다:

import org.fusesource.jansi.*;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class TerminalInputExample {

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

        try {
            BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
            System.out.print(Ansi.ansi().fg(Ansi.Color.CYAN).a("Enter your name: ").reset());
            String name = reader.readLine();
            System.out.println("Hello, " + name + "!");
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            AnsiConsole.systemUninstall();
        }
    }
}

위의 코드는 Jansi를 사용하여 터미널에 “Enter your name: “을 출력하고 사용자로부터 텍스트를 입력받는 예제입니다. 사용자가 입력한 텍스트는 name 변수에 저장되어 “Hello, {이름}!” 메시지가 출력됩니다.

Jansi를 사용하기 위해서는 먼저 Maven 또는 Gradle과 같은 의존성 관리 도구를 사용하여 Jansi를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우 pom.xml 파일에 다음 의존성을 추가하면 됩니다:

<dependency>
    <groupId>org.fusesource.jansi</groupId>
    <artifactId>jansi</artifactId>
    <version>2.3.2</version>
</dependency>

Jansi에 대한 더 많은 정보와 사용 예제는 공식 GitHub 저장소에서 확인할 수 있습니다.

자바 프로그램에서 터미널에서 텍스트 입력을 받을 때 Jansi를 사용하면 사용자와의 상호작용을 더욱 향상시킬 수 있습니다.