본문 바로가기

JAVA/입출력 스트림과 파일 입출력

04. File 클래스

File클래스가 뭔데요?

File 클래스는 파일이나 디렉터리에 대해, 경로명, 파일크기, 파일타입, 파일수정날짜 등 파일에 관한 속성 정보를 제공하고, 파일삭제, 디렉터리 생성, 파일이름 변경, 디렉터리 내의 파일 리스트 제공 등 파일 관리 작업을 지원한다.

File클래스에는 파일 입출력 기능은 없으며, FileInput/OutputStream, FileReader/Writer 등 파일 입출력 클래스를 이용해야 한다.

 

File 객체 생성

File 객체는 생성자를 이용하여 생성한다.

File f = new File ("c:\\temp\\test.txt");

File 객체는 다음과 같이 스트림 생성 시 생성자에 파일 경로명을 전달하기 위해 이용된다.

FileReader fr = new FileReader(f);

 

 File  클래스의 생성자

  • File(File parent, String child) : parent 디렉터리에 child 이름의 서브 디렉터리나 파일을 나타내는 File 객체 생성
  • File(String pathname) : pathname의 완전 경로명이 나타내는 File 객체 생성
  • File(String parent, String child) : parent 디렉터리에 child 이름의 서브디렉터리나 파일을 나타내는 File 객체 생성
  • File(URI uri) : file:URI를 추상 경로명으로 변환하여 File 객체 생성 

File 클래스 활용

File 클래스의 메소드를 이용하면, 파일 크기와 타입을 알아내고, 파일삭제, 이름변경, 디렉터리 생성, 디렉터리의 파일 리스트 얻기 등 다양한 파일 관리 작업을 수행할 수 있다.

 

File 클래스의 주요 메소드

  • boolean mkdir() : 새로운 디렉토리 생성
  • String[] list() : 디렉터리 내의 파일과 서브 디렉터리 리스트를 문자열 배열로 리턴
  • File [] listFiles() : 디렉터리 내의 파일과 서브 디렉터리 리스트를 File[] 배열로 리턴
  • boolean renameTo(File dest) : dest가 지정하는 경로명으로 파일 이름 변경
  • boolean delete() : 파일 또는 디렉터리 삭제
  • long length() : 파일의 크기 리턴
  • String getPath() : 경로명 전체를 문자열로 변환하여 리턴
  • String getParent() : 파일이나 디렉터리의 부모 디렉터리 이름 리턴
  • String getName() : 파일 또는 디렉터리 이름을 문자열로 리턴
  • boolean isFile() : 일반 파일이면 true 리턴
  • boolean isDirectory() : 디렉터리이면 true 리턴
  • long lastModified() : 파일이 마지막으로 변경된 시간 리턴
  • boolean exists() : 파일 또는 디렉터리가 존재하면 true 리턴