[java] 자바에서 유닉스/리눅스 시스템 호출을 사용하여 파일을 삭제하는 방법에 대해 알려주세요.

첫 번째로, File 객체를 사용하여 삭제할 파일을 지정합니다.

import java.io.File;

public class FileDeletion {
    public static void main(String[] args) {
        String filePath = "/path/to/your/file";
        File file = new File(filePath);
        if (file.exists()) {
            // 파일이 존재하는 경우 삭제합니다.
            if (file.delete()) {
                System.out.println("파일이 성공적으로 삭제되었습니다.");
            } else {
                System.out.println("파일을 삭제하는 데 문제가 발생했습니다.");
            }
        } else {
            System.out.println("지정된 파일이 존재하지 않습니다.");
        }
    }
}

그러나 이 방법은 Java 프로그램이 실행 중인 운영 체제의 파일 시스템에 직접 접근하는 것이 아니라 Java의 파일 시스템 API를 사용하여 파일을 삭제하는 방법입니다. 만약에 시스템 호출을 사용하여 파일을 삭제하길 원한다면, 아래와 같이 ProcessBuilder를 사용하여 유닉스 또는 리눅스의 rm 명령어를 실행할 수 있습니다.

import java.io.IOException;

public class FileDeletion {
    public static void main(String[] args) {
        String filePath = "/path/to/your/file";
        ProcessBuilder processBuilder = new ProcessBuilder("rm", filePath);
        try {
            Process process = processBuilder.start();
            int exitCode = process.waitFor();
            if (exitCode == 0) {
                System.out.println("파일이 성공적으로 삭제되었습니다.");
            } else {
                System.out.println("파일을 삭제하는 중에 오류가 발생했습니다.");
            }
        } catch (IOException | InterruptedException e) {
            System.out.println("오류: " + e.getMessage());
        }
    }
}

이 코드는 Java에서 유닉스 또는 리눅스의 rm 명령을 호출하여 파일을 삭제합니다. ProcessBuilder를 사용하면 외부 명령을 실행하고 해당 명령의 성공 또는 실패 여부를 확인할 수 있습니다.

참고 문헌: