[java] 유닉스/리눅스 시스템 호출을 사용하여 디렉토리 내의 파일 목록을 가져오는 방법에 대해 알려주세요.

다음은 ProcessBuilder 클래스를 사용하여 유닉스/리눅스의 ls 명령어를 실행하여 파일 목록을 가져오는 간단한 예제 코드입니다.

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

public class ListFilesInDirectory {
    public static void main(String[] args) {
        try {
            String directoryPath = "/path/to/directory"; // 디렉토리 경로
            ProcessBuilder processBuilder = new ProcessBuilder("ls", directoryPath);
            processBuilder.redirectErrorStream(true);

            Process process = processBuilder.start();
            try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {
                String line;
                while ((line = reader.readLine()) != null) {
                    System.out.println(line); // 파일 목록 출력
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

이 예제 코드는 ProcessBuilder를 사용하여 ls 명령어를 실행하고, 프로세스의 출력을 BufferedReader를 통해 읽어와서 파일 목록을 출력하는 방법을 보여줍니다. 디렉토리 경로는 실제 경로로 변경해야 합니다.

위의 예제 코드를 실행하면 해당 디렉토리 내의 파일 목록을 가져와서 출력할 수 있습니다.

참고 자료: