[java] Jansi를 사용하여 자바 프로그램에서 터미널에서 디렉토리 생성하기

이번 블로그 포스트에서는 자바 프로그램에서 터미널에서 디렉토리를 생성하는 방법을 알아보겠습니다. 이를 위해 Jansi라이브러리를 사용하여 터미널 명령을 실행하고 결과를 확인하는 방법을 살펴보겠습니다.

Jansi란?

Jansi는 자바 어플리케이션에서 ANSI 이스케이프 시퀀스를 처리하기 위한 라이브러리입니다. 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;

import static org.fusesource.jansi.Ansi.Color.RED;
import static org.fusesource.jansi.Ansi.ansi;

public class DirectoryCreator {
    public static void main(String[] args) {
        AnsiConsole.systemInstall();
        
        String directoryName = "new_directory";
        
        System.out.println(ansi().eraseScreen().fg(RED).a("Creating directory: ").a(directoryName).reset());
        
        String createDirectoryCommand = "mkdir " + directoryName;
        
        try {
            Process process = Runtime.getRuntime().exec(createDirectoryCommand);
            int exitCode = process.waitFor();
            
            if (exitCode == 0) {
                System.out.println(ansi().eraseScreen().fg(RED).a("Directory created successfully").reset());
            } else {
                System.out.println(ansi().eraseScreen().fg(RED).a("Failed to create directory").reset());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        AnsiConsole.systemUninstall();
    }
}

위의 코드는 new_directory라는 이름의 디렉토리를 생성하는 간단한 예제입니다. 코드를 실행하면 터미널에서 mkdir 명령어를 실행하여 디렉토리를 생성합니다. 결과에 따라 디렉토리가 성공적으로 생성되었는지 또는 실패했는지를 출력합니다.

Jansi를 사용하여 터미널과 상호작용할 수 있으므로, ANSI 이스케이프 시퀀스를 사용하여 출력을 스타일링하거나 커서를 이동할 수도 있습니다.

이제 Jansi를 사용하여 자바 프로그램에서 터미널에서 디렉토리를 생성하는 방법을 알아보았습니다. Jansi를 사용하면 터미널 명령을 실행하고 결과를 확인하는 것이 쉬워집니다. Jansi의 다른 기능들을 사용하여 더 복잡한 터미널 작업도 수행할 수 있습니다.

더 많은 정보를 원하시면 공식 Jansi GitHub 페이지를 참조하세요.