[java] Jansi를 활용하여 자바에서 터미널에서 녹음하기
이번 글에서는 Jansi 라이브러리를 활용하여 자바에서 터미널에서 녹음하는 방법을 알아보겠습니다. Jansi는 자바 애플리케이션에서 ANSI 색상 및 스타일 제어를 가능하게 해주는 라이브러리입니다.
1. Jansi 라이브러리 추가하기
먼저, 프로젝트에 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'
}
의존성을 추가한 후, 프로젝트를 다시 빌드합니다.
2. 터미널에서 녹음하기
다음으로, 터미널에서 녹음하는 자바 코드를 작성해보겠습니다. 아래 코드는 터미널에서 입력된 내용을 파일로 저장하는 예제입니다.
import org.fusesource.jansi.AnsiConsole;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class TerminalRecorder {
public static void main(String[] args) {
AnsiConsole.systemInstall();
System.out.println("녹음을 시작합니다. 종료하려면 'exit'을 입력하세요.");
try (Scanner scanner = new Scanner(System.in);
BufferedWriter writer = new BufferedWriter(new FileWriter("recording.txt"))) {
while (true) {
String line = scanner.nextLine();
if (line.equals("exit")) {
break;
}
writer.write(line);
writer.newLine();
}
} catch (IOException e) {
e.printStackTrace();
}
AnsiConsole.systemUninstall();
System.out.println("녹음이 종료되었습니다.");
}
}
위 코드를 실행하면, 터미널에서 입력된 내용이 recording.txt
파일에 저장됩니다. ‘exit’을 입력하면 녹음이 종료됩니다.
3. 실행 결과 확인하기
다음으로, 코드를 실행하여 결과를 확인해보겠습니다. 터미널에서 다음 명령을 실행합니다:
java TerminalRecorder
이후, 터미널에서 원하는 내용을 입력하고 엔터를 누르면 입력된 내용이 recording.txt
파일에 저장됩니다. ‘exit’을 입력하면 녹음이 종료됩니다.
결론
Jansi를 활용하면 자바 애플리케이션에서 터미널에서 녹음을 쉽게 할 수 있습니다. 이를 통해 터미널 입력을 다루는 자바 애플리케이션을 개발할 때 유용하게 활용할 수 있습니다.