본문 바로가기

프로그래밍/자바

[자바] 'File' 클래스, 파일의 다양한 정보를 확인하자!

 

 

 

 

 

 

 

 

File 클래스


 사실, 자바를 하다보면 이상하게 'java.io'패키지에 대한 막연한 두려움(?)이 있었는데요.

왠지 봐도봐도 머리에 안들어갔었다는.. ㅎㅎ

 

 각설하고^^, 이번글에서는  'java.io' 패키지에 속하는 'File' 클래스에 대해서 알아볼까 합니다.

우선, 'File' 클래스는 다음과 같은 역할을 한다고 볼 수 있겠습니다.

 

파일에 대해서 직접 읽고 쓰는 입·출력 기능이 아닌, 파일과 관련된 기능을 다음과 같이 제공합니다.

1. 빈 파일 및 디렉토리의 생성

2. 파일과 폴더의 삭제

3. 파일 이름의 확인

4. 파일 이름의 변경

5. 파일의 경로 확인

6. 파일의 접근 권한(실행, 쓰기, 읽기) 확인 및 설정

 등등

 

 다음에서 생성자와 메소드를 확인하실 수 있습니다.        출저 : http://xrath.com/javase/ko/6/docs/ko/api/index.html 

 

 

 우선, File에 접근을 할려면, File 객체를 생성해야 합니다.

 위에서 확인 가능한 생성자를 사용해서 파일 객체를 만든후 파일의 정보를 확인해 보겠습니다.

 

import java.io.File;

 

public class Test {
 public static void main(String[] args){

  File test= new File("c:");
  System.out.println("다음은 c드라이브에 있는 폴더와 파일의 목록입니다.");
  if(test.exists()){                                 //  파일이나 경로가 존재하는지 확인합니다.
   if (test.isDirectory()) {                      //  현재 객체가 디렉토리(폴더)인지 확인합니다.
    String[] testList =  test.list();          //  현재 디렉토리에 있는 하위의 디렉토리와 파일을 문자열 배열로 반환합니다.  
    for(int i =0; i < testList.length; i++){   //  만들어진 List를 반복문을 통해 나열합니다.
     System.out.print(testList[i] +"\t");
     if(i%3==0)
      System.out.println();
    }
   }else{System.out.println("폴더가 아닙니다.");}
  }else{
   System.out.println("폴더가 존재하지 않습니다.");
  }
 
  System.out.println("\n다음은 c:에 위치한 test.txt 파일의 정보입니다.");
  File test2 = new File("C:\\test.txt");  // 경로를 적을시 \\ 를 통해 \가 입력되도록 합니다.(주의)
  if(test2.exists()){
   if (test2.isFile()) {
    System.out.println("현재 파일의 경로 :"+ test2.getParent());
    System.out.println("현재 파일의 절대 경로 : "+ test2.getAbsolutePath());
    System.out.println("현재 파일명 : "+ test2.getName());
   }
  }else{
   System.out.println("폴더가 존재하지 않습니다.");
  }
 }

}

 

 꼭, java.io 패키지를 import 해야 합니다. 다음과 같이 선택할 수 있겠습니다.

1. import java.io.*;

2. import java.io.File;

 

다른 메소드도 많으니 위의 API를 참고하시고, 한번 사용해보세요 ^^


궁금하시거나 도움줄 말이 있으시면 댓글 부탁드립니다.

여러분의 댓글이 힘이됩니다. ^^