이번에는 Jansi 라이브러리를 사용하여 자바 애플리케이션에서 터미널에서 문자열을 검색하는 방법을 알아보겠습니다.
Jansi는 자바 애플리케이션에서 ANSI Escape Sequence를 이용하여 터미널에 다양한 텍스트 스타일링을 할 수 있도록 도와주는 라이브러리입니다.
1. 의존성 추가
먼저, 프로젝트의 의존성에 Jansi를 추가해야 합니다. Maven을 사용하는 경우, pom.xml
파일에 다음과 같이 의존성을 추가합니다:
<dependency>
<groupId>org.fusesource.jansi</groupId>
<artifactId>jansi</artifactId>
<version>1.18</version>
</dependency>
Gradle을 사용하는 경우, build.gradle
파일에 다음과 같이 의존성을 추가합니다:
dependencies {
implementation 'org.fusesource.jansi:jansi:1.18'
}
의존성을 추가한 후, IDE에서 프로젝트를 동기화합니다.
2. 문자열 검색하기
이제 Jansi를 사용하여 터미널에서 문자열을 검색하는 코드를 작성해보겠습니다. 다음은 예제 코드입니다:
import org.fusesource.jansi.AnsiConsole;
import static org.fusesource.jansi.Ansi.*;
public class TerminalSearch {
public static void main(String[] args) {
AnsiConsole.systemInstall();
String searchTerm = "hello world";
String text = "Hello world! This is a test text.";
if (text.contains(searchTerm)) {
System.out.println(ansi().fg(Color.GREEN).a("Found").reset());
} else {
System.out.println(ansi().fg(Color.RED).a("Not found").reset());
}
AnsiConsole.systemUninstall();
}
}
이 예제에서는 AnsiConsole.systemInstall()
과 AnsiConsole.systemUninstall()
를 사용하여 터미널에서 ANSI Escape Sequence를 처리할 수 있도록 설정하고 해제합니다. ansi()
메서드를 사용하여 ANSI Escape Sequence를 생성하고, fg(Color)
를 사용하여 텍스트 색상을 설정합니다.
위의 코드에서는 searchTerm
변수에 검색할 문자열을, text
변수에 검색 대상 텍스트를 저장하고 있습니다. text
에 searchTerm
이 포함되어 있는지 contains()
메서드를 사용하여 확인한 후, 결과에 따라 “Found” 또는 “Not found”를 출력합니다.
3. 실행 결과
위의 코드를 실행하면, 터미널에서 “Found” 또는 “Not found”라는 결과를 볼 수 있습니다. 만약 text
에 “hello world”라는 문자열이 포함되어 있다면, “Found”가 출력될 것입니다.
결론
Jansi를 사용하면 자바 애플리케이션에서 터미널에서 문자열을 검색하는 기능을 쉽게 구현할 수 있습니다. 텍스트 스타일링과 함께 터미널에서 텍스트 검색 기능을 제공하고 싶은 경우, Jansi를 사용하여 간편하게 구현할 수 있습니다.
프로젝트의 의존성에 Jansi를 추가하고, ANSI Escape Sequence를 활용하여 터미널에서 문자열을 검색하는 기능을 구현해보세요.