[java] Jansi를 활용하여 자바에서 터미널에서 텍스트 복사하기

이번에는 자바에서 Jansi 라이브러리를 사용하여 터미널에서 텍스트를 복사하는 방법에 대해 알아보겠습니다. Jansi는 터미널 출력을 스타일링하고 컬러링하기 위한 자바 라이브러리입니다.

1. Jansi 라이브러리 설치

먼저 Maven을 사용한다면 pom.xml 파일에 다음 종속성을 추가하여 Jansi를 가져옵니다:

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

Gradle을 사용한다면 build.gradle 파일의 dependencies 블록에 다음을 추가하세요:

dependencies {
    implementation 'org.fusesource.jansi:jansi:1.18'
}

2. 텍스트 복사하기

이제 Jansi를 사용하여 터미널에서 텍스트를 복사하는 코드를 작성해보겠습니다.

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

public class CopyTextTerminal {
    public static void main(String[] args) {
        AnsiConsole.systemInstall();
        
        // 복사할 텍스트
        String text = "Hello, World!";
        
        // 터미널에서 복사하기 위해 출력 환경을 설정합니다.
        Ansi ansi = Ansi.ansi();
        ansi.eraseScreen().fg(Ansi.Color.WHITE).bg(Ansi.Color.BLACK).a(text);
        
        // 텍스트를 화면에 표시하고 복사합니다.
        System.out.println(ansi);
    
        // 터미널 출력 설정 복원
        AnsiConsole.systemUninstall();
    }
}

위의 코드는 Jansi를 사용하여 “Hello, World!”라는 텍스트를 터미널에 출력하고, 해당 텍스트를 복사하는 간단한 예제입니다. ansi.eraseScreen().fg(Ansi.Color.WHITE).bg(Ansi.Color.BLACK).a(text) 부분은 출력 환경을 설정하는 부분으로, 이를 사용자의 요구에 맞게 수정할 수 있습니다.

3. 실행

위의 코드를 컴파일 및 실행하면 터미널에 “Hello, World!”라는 텍스트가 흰색 글자로 검은색 배경에 출력됩니다. 사용자는 터미널에서 해당 텍스트를 복사할 수 있습니다.

결론

이렇게 Jansi를 사용하여 자바에서 터미널에서 텍스트를 복사하는 방법에 대해 알아보았습니다. Jansi는 터미널 출력을 스타일링하고 컬러링하는 데 유용한 라이브러리이므로, 터미널 기반 애플리케이션 개발에 활용해보시기 바랍니다.

참고 문서