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

Java 프로그램에서 터미널에서 디렉토리의 내용을 보여주는 것은 유용한 기능입니다. Jansi는 Java를 사용하여 터미널(콘솔)에 ANSI 컬러 출력을 지원하는 도구입니다. Jansi를 사용하면 터미널에서 디렉토리 내용을 색상으로 구분하여 볼 수 있습니다.

Jansi 라이브러리 추가

먼저 Maven을 사용하는 경우 프로젝트의 pom.xml 파일에 다음 의존성을 추가하십시오:

<dependency>
    <groupId>org.fusesource.jansi</groupId>
    <artifactId>jansi</artifactId>
    <version>2.1.0</version>
</dependency>

Gradle을 사용하는 경우 build.gradle 파일의 dependencies 블록에 다음 의존성을 추가하십시오:

dependencies {
    implementation 'org.fusesource.jansi:jansi:2.1.0'
}

코드 예제

이제 Jansi를 사용하여 터미널에서 디렉토리의 내용을 보여주는 간단한 Java 코드를 작성해 보겠습니다:

import org.fusesource.jansi.AnsiConsole;

import java.io.File;

public class DirectoryListingExample {
    public static void main(String[] args) {
        // ANSI 컬러 출력 초기화
        AnsiConsole.systemInstall();

        // 디렉토리 경로 지정
        String directoryPath = "/path/to/directory";

        // 디렉토리 내 파일 목록 가져오기
        File directory = new File(directoryPath);
        File[] files = directory.listFiles();

        // 파일 목록 출력
        if (files != null) {
            for (File file : files) {
                if (file.isDirectory()) {
                    System.out.println("\u001B[34m" + file.getName() + "\u001B[0m"); // 디렉토리는 파란색으로 표시
                } else {
                    System.out.println(file.getName()); // 파일은 일반 출력
                }
            }
        }

        // ANSI 컬러 출력 해제
        AnsiConsole.systemUninstall();
    }
}

위 코드는 Jansi를 사용하여 터미널에서 디렉토리 내의 파일과 디렉토리를 출력하는 예제입니다. 디렉토리 내의 파일은 일반 출력으로 처리되고, 디렉토리는 파란색으로 표시됩니다.

실행

코드를 실행하려면 터미널에서 다음과 같이 명령을 입력하십시오:

java -cp "target/myapp.jar:lib/*" com.example.DirectoryListingExample

위 명령에서 target/myapp.jar는 실행 가능한 JAR 파일의 경로로 바꾸고, com.example.DirectoryListingExampleDirectoryListingExample 클래스의 패키지 경로로 바꾸십시오.

코드를 실행하면 지정한 디렉토리 내의 파일과 디렉토리가 터미널에 출력됩니다.

결론

Jansi를 사용하면 Java 프로그램에서 터미널에서 디렉토리의 내용을 보여줄 수 있습니다. Jansi를 사용하면 ANSI 컬러 출력을 지원하여 디렉토리와 파일을 시각적으로 구분할 수 있습니다. 위의 코드 예제를 사용하여 Jansi를 통해 터미널에서 디렉토리의 내용을 쉽게 확인할 수 있습니다.


참조: