디렉터리와 경로 관리

Java의 입력/출력과 스트림

Alex Liu

Software Developer Engineer

핵심 개념

  • 디렉터리는 파일과 데이터를 구성합니다
  • 경로는 파일과 디렉터리의 위치를 지정합니다
  • File 클래스는 파일 또는 디렉터리를 나타낼 수 있습니다
    • 실제 생성 항목은 메서드에 따라 다릅니다 (mkdir()는 디렉터리, createNewFile()은 파일)

여러 디렉터리 아이콘이 있는 컴퓨터 모니터

Java의 입력/출력과 스트림

디렉터리 생성

  • File 클래스를 임포트합니다
    import java.io.File;
    
  • 디렉터리를 나타내는 File 객체를 생성합니다
    File newDirectory = new File("myDirectory");
    
  • .mkdir()로 실제 디렉터리를 생성합니다
    boolean created = newDirectory.mkdir();
    
  • 생성에 성공하면 true 반환
  • 이미 존재하거나 생성 불가하면 false 반환
Java의 입력/출력과 스트림

디렉터리의 파일 나열

  • .listFiles()로 디렉터리의 파일을 나열합니다

$$

// `myDirectory` 디렉터리를 나타내는 `File` 객체 생성
File dir = new File("myDirectory");
// `myDirectory`의 내용을 나타내는 `File` 객체의 `배열`을 가져옴
File[] files = dir.listFiles();
  • 디렉터리가 존재하면 File 객체 배열을 반환
  • 존재하지 않으면 null 반환
Java의 입력/출력과 스트림

파일의 상대 경로 가져오기

  • 상대 경로: 현재 작업 디렉터리를 기준으로 한 파일/디렉터리 위치
// `myDirectory` 안의 `sample.txt`에 대한 `File` 객체 생성
File file = new File("myDirectory/sample.txt");
// 파일의 상대 경로를 문자열로 가져옴
String path = file.getPath();
System.out.println(path);
  • myDirectory가 이미 존재한다고 가정합니다. 아니면 파일 생성/쓰기 실패

  • 출력:

    myDirectory/sample.txt
    
Java의 입력/출력과 스트림

절대 경로 다루기

  • 절대 경로: 파일 시스템 루트부터의 전체 경로

$$

// `myDirectory` 안의 `sample.txt`에 대한 `File` 객체 생성
File file = new File("myDirectory/sample.txt");
// 파일의 절대 경로를 문자열로 가져옴
String absPath = file.getAbsolutePath();
System.out.println(absPath);
  • 출력:
/user/home/myDirectory/sample.txt
Java의 입력/출력과 스트림

연습해 봅시다!

Java의 입력/출력과 스트림

Preparing Video For Download...