[java] 유닉스/리눅스 시스템 호출을 사용하여 디렉토리의 크기를 계산하는 방법에 대해 알려주세요.
유닉스 및 리눅스 시스템에서는 디렉토리의 크기를 계산하기 위해 명령줄을 사용할 수 있습니다. 이를 위해서 du
명령어를 사용하여 디렉토리의 하위 항목들의 디스크 사용량을 확인할 수 있습니다.
1. du
명령어
du
명령어는 디렉토리의 디스크 사용량을 계산하는 데 사용됩니다. 다음은 du
명령어를 사용하여 디렉토리의 크기를 계산하는 예제입니다.
du -sh /path/to/directory
-s
: 개별 디렉토리의 크기를 표시-h
: 가독성을 높이기 위해 출력을 인간이 이해하기 쉬운 형식으로 표시
위 명령은 /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
명령어를 실행하고, 출력을 읽어와서 화면에 표시합니다.
이렇게 하면 자바에서 시스템 호출을 통해 디렉토리의 크기를 계산할 수 있습니다.
참고 자료
이를 통해 유닉스/리눅스 시스템 호출을 사용하여 디렉토리의 크기를 계산하고, 자바에서 이를 실행하는 방법을 알아보았습니다.