[java] Jansi를 활용하여 자바에서 터미널에서 텍스트의 단어 수 세기
이 글에서는 Jansi 라이브러리를 사용하여 자바에서 터미널 환경에서 텍스트의 단어 수를 세는 방법을 알아보겠습니다.
Jansi란?
Jansi는 자바에서 ANSI (American National Standards Institute) 이스케이프 시퀀스를 처리하는 데 사용되는 라이브러리입니다. ANSI 이스케이프 시퀀스는 커맨드 라인 환경에서 텍스트 스타일링 및 서식을 지정하기 위해 사용됩니다.
Jansi 사용 방법
- 먼저, 프로젝트의 의존성에 Jansi 라이브러리를 추가해야 합니다. Maven 프로젝트의 경우
pom.xml
파일에 아래의 의존성을 추가합니다.
<dependency>
<groupId>org.fusesource.jansi</groupId>
<artifactId>jansi</artifactId>
<version>1.18</version>
</dependency>
- 다음으로, 터미널에서 텍스트를 읽어와 단어 수를 세는 자바 코드를 작성해보겠습니다.
import org.fusesource.jansi.AnsiConsole;
import java.util.Scanner;
public class WordCount {
public static void main(String[] args) {
// Jansi 초기화
AnsiConsole.systemInstall();
// 사용자로부터 텍스트 입력 받기
System.out.println("텍스트를 입력하세요:");
Scanner scanner = new Scanner(System.in);
String inputText = scanner.nextLine();
// 단어 수 세기
int wordCount = countWords(inputText);
// 결과 출력
System.out.println("입력한 텍스트에는 " + wordCount + "개의 단어가 있습니다.");
// Jansi 복원
AnsiConsole.systemUninstall();
}
public static int countWords(String text) {
String[] words = text.split("\\s+");
return words.length;
}
}
위의 코드에서는 JansiConsole
클래스를 사용하여 ANSI 이스케이프 시퀀스를 처리하고, Scanner
를 사용하여 터미널에서 텍스트를 입력받습니다. 입력받은 텍스트는 countWords
메소드를 사용하여 단어 수를 세고, 결과를 출력합니다.
실행 결과
다음은 위의 코드를 실행한 후, 터미널에서 “Hello world, 안녕하세요”라는 텍스트를 입력한 결과입니다.
텍스트를 입력하세요:
Hello world, 안녕하세요
입력한 텍스트에는 3개의 단어가 있습니다.
결론
Jansi를 사용하면 자바에서 터미널에서 텍스트의 단어 수를 쉽게 세는 작업을 할 수 있습니다. Jansi의 다양한 기능을 활용하여 터미널에서의 텍스트 스타일링 등 다양한 작업을 수행할 수도 있습니다.
더 자세한 내용과 Jansi의 사용법은 Jansi GitHub 페이지를 참고하시면 됩니다.