[java] Jansi를 활용하여 자바에서 터미널에서 파일 삭제하기

프로그램 개발 중에는 때로는 터미널에서 파일을 삭제해야 하는 상황이 발생할 수 있습니다. 이번 포스트에서는 자바에서 Jansi 라이브러리를 활용하여 터미널에서 파일을 삭제하는 방법을 알아보겠습니다.

Jansi란?

Jansi는 자바 애플리케이션에서 터미널에 대한 ANSI 이스케이프 시퀀스를 사용할 수 있도록 지원하는 라이브러리입니다. 이를 통해 터미널에서 텍스트 색상, 배경색, 효과 등을 변경할 수 있습니다.

Maven 종속성 추가하기

먼저 Maven 프로젝트에서 Jansi를 사용하기 위해 pom.xml 파일에 다음 종속성을 추가해야 합니다.

<dependencies>
    <dependency>
        <groupId>org.fusesource.jansi</groupId>
        <artifactId>jansi</artifactId>
        <version>1.18</version>
    </dependency>
</dependencies>

터미널에서 파일 삭제하기

다음은 Jansi를 사용하여 터미널에서 파일을 삭제하는 자바 코드의 예제입니다.

import org.fusesource.jansi.AnsiConsole;

import java.io.File;
import java.io.IOException;

public class TerminalFileDeleter {

    public static void main(String[] args) {
        AnsiConsole.systemInstall();

        String filePath = "/path/to/file.txt";

        File file = new File(filePath);

        if (!file.exists()) {
            System.out.println("File does not exist.");
            return;
        }

        try {
            deleteFile(file);
            System.out.println("File deleted successfully.");
        } catch (IOException e) {
            System.out.println("Failed to delete file.");
        }
    }

    private static void deleteFile(File file) throws IOException {
        if (file.isDirectory()) {
            for (File subFile : file.listFiles()) {
                deleteFile(subFile);
            }
        }

        file.delete();
    }
}

위의 예제 코드에서는 AnsiConsole.systemInstall()을 호출하여 ANSI 이스케이프 시퀀스가 터미널에서 지원되도록 설정하고, deleteFile() 메서드를 통해 파일을 삭제합니다. 파일이 디렉토리인 경우 하위 파일들도 재귀적으로 삭제됩니다.

실행 결과 확인하기

위의 예제 코드를 실행하면 지정된 파일이 터미널에서 삭제되는 것을 확인할 수 있습니다.

결론

Jansi를 사용하여 자바에서 터미널에서 파일을 삭제하는 방법을 알아보았습니다. Jansi 라이브러리를 활용하면 터미널에서 다양한 기능을 활용할 수 있으므로, 더욱 다양한 기능을 개발할 수 있습니다.