[java] 유닉스/리눅스 시스템 호출을 사용하여 디렉토리의 크기를 계산하는 방법에 대해 알려주세요.

유닉스 및 리눅스 시스템에서는 디렉토리의 크기를 계산하기 위해 명령줄을 사용할 수 있습니다. 이를 위해서 du 명령어를 사용하여 디렉토리의 하위 항목들의 디스크 사용량을 확인할 수 있습니다.

1. du 명령어

du 명령어는 디렉토리의 디스크 사용량을 계산하는 데 사용됩니다. 다음은 du 명령어를 사용하여 디렉토리의 크기를 계산하는 예제입니다.

du -sh /path/to/directory

위 명령은 /path/to/directory 디렉토리의 크기를 측정하고 가독성 있는 형식으로 출력합니다.

2. 자바에서 시스템 호출 사용하기

자바에서 시스템 호출을 통해 du 명령어를 실행하여 디렉토리의 크기를 계산할 수 있습니다. 아래는 자바에서 유닉스/리눅스 시스템 호출을 사용하여 디렉토리 크기를 계산하는 간단한 예제 코드입니다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class DirectorySize {
    public static void main(String[] args) {
        try {
            String directoryPath = "/path/to/directory";
            String[] cmd = { "sh", "-c", "du -sh " + directoryPath };

            Process process = Runtime.getRuntime().exec(cmd);
            process.waitFor();
            
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
}

위의 코드는 Runtime.getRuntime().exec(cmd)를 사용하여 du -sh 명령어를 실행하고, 출력을 읽어와서 화면에 표시합니다.

이렇게 하면 자바에서 시스템 호출을 통해 디렉토리의 크기를 계산할 수 있습니다.

참고 자료

이를 통해 유닉스/리눅스 시스템 호출을 사용하여 디렉토리의 크기를 계산하고, 자바에서 이를 실행하는 방법을 알아보았습니다.