사실, 자바를 하다보면 이상하게 '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를 참고하시고, 한번 사용해보세요 ^^


출처 - http://runtoyourdream.tistory.com/225


===================================================================================


boolean() :: 읽기가능 true
boolean canWrite() :: 파일 쓰기 가능하면 true
boolean delete() :: 파일 삭제후 true반환. 삭제안되면 false.
boolean equals(Object obj) :: 현재의 객체와 obj로 지정된 객체가 같은 파일을 가지면 true
boolean exists() :: 파일 존재하면 true
String getAbsolutePath() :: 파일에 대한 절대 경로 반환
String getCanonicalPath() :: 파일에 대한 정규 경로 반환
String getParent() :: 부모 디렉토리 이름 반환
String getName() :: 파일 이름 반환
String getPath() :: 파일의 경로 반환
boolean isAbsolute() :: 경로가 절대경로이면 true
boolean isDirectory() :: 디렉토리이면 true
boolean isFile() :: 현재의 객체가 파일이면 true
long lastModified() :: 마지막으로 수정된 날짜 반환
long length() :: 파일의 바이트 수 반환
String[] list() :: 지정된 디렉토리에 있는 파일과 디렉토리를 문자열 배열로 반환
boolean mkdir() :: 디렉토리 생성. 생성되면 true
boolean mkdirs() :: 디렉토리 생성. 경로로지정된 디렉토리 미존재시 생성후 디렉토리생성
boolean renameTo(File newName) :: 파일이나 디렉토리의 이름을 변경 true




===================================================================================





Posted by linuxism
,