[java] Jansi를 활용하여 자바에서 터미널에서 텍스트 정렬하기
텍스트를 터미널에서 정렬하는 것은 자바 개발자에게 유용한 기능입니다. 이를 위해 Jansi 라이브러리를 사용하여 ANSI 이스케이프 시퀀스를 통해 텍스트를 포맷팅하고 터미널 화면에 정렬된 텍스트를 출력할 수 있습니다.
Jansi 라이브러리 추가하기
먼저 프로젝트에 Jansi 라이브러리를 추가해야 합니다. Maven을 사용하는 경우 pom.xml
파일에 다음 의존성을 추가하십시오.
<dependencies>
<dependency>
<groupId>org.fusesource.jansi</groupId>
<artifactId>jansi</artifactId>
<version>1.18</version>
</dependency>
</dependencies>
Gradle을 사용하는 경우 build.gradle
파일에 다음 의존성을 추가하십시오.
dependencies {
implementation 'org.fusesource.jansi:jansi:1.18'
}
의존성을 추가한 후 프로젝트를 빌드하십시오.
텍스트 정렬하기
다음은 Jansi를 사용하여 터미널에서 텍스트를 정렬하는 간단한 예제입니다.
import org.fusesource.jansi.AnsiConsole;
public class TextAlignmentExample {
public static void main(String[] args) {
AnsiConsole.systemInstall();
String text = "Hello, Jansi!";
int terminalWidth = AnsiConsole.out().getTerminal().getWidth();
String alignedText = alignCenter(text, terminalWidth);
System.out.println(alignedText);
AnsiConsole.systemUninstall();
}
public static String alignCenter(String text, int width) {
int padding = (width - text.length()) / 2;
StringBuilder paddedText = new StringBuilder();
for (int i = 0; i < padding; i++) {
paddedText.append(" ");
}
paddedText.append(text);
return paddedText.toString();
}
}
위의 코드는 터미널의 너비를 얻어오고, 주어진 텍스트의 길이와 터미널의 너비를 비교하여 텍스트를 가운데 정렬하는 alignCenter
메소드를 포함하고 있습니다.
실행 결과
위의 예제를 실행하면 터미널 화면에서 "Hello, Jansi!"
를 가운데 정렬한 결과를 볼 수 있습니다.
Hello, Jansi!
이와 같이 Jansi를 사용하여 자바에서 터미널에서 텍스트를 정렬하는 것은 간단하고 유용한 기능입니다. Jansi를 사용하는 것으로 텍스트 포맷팅에 대한 제한을 더욱 풀 수 있습니다.