본문 바로가기

옛날

File 클래스를 이용한 파일 연동

개발환경 :

Windows 10 Home 64bit

Java Development Kit 1.8.0_112

Eclipse Kepler Service Release 2




File 객체에 실제 파일을 연동


(이클립스에서 임의의 파일 만들기 //기본적으로 이클립스 프로젝트 폴더 내 /src 폴더에 배치됨)


1
2
3
4
5
6
7
8
9
10
11
12
13
package io;
 
import java.io.File;
 
public class IO {
 
    public static void main(String[] args) {
        
        File file = new File("test");
        
    }
}
 
cs

(프로젝트 폴더 내에 있는 파일은 별도의 경로지정 없이 연동 가능함)


외부에 있는 파일 연동


(c드라이브에 임의의 파일을 배치함)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
package io;
 
import java.io.File;
 
public class IO {
 
    public static void main(String[] args) {
        
        File file = new File("C://test2.txt");
        
        System.out.println("exists : "+file.exists());
        System.out.println("File Name : "+file.getName());
    }
}
cs

(텍스트 파일이기 때문에 .txt확장자, 경로를 구분하는 \는 //로 대체하여야 함)


(파일이 존재하고, 파일의 이름은 test2.txt이다.)


파일의 정보를 확인하는 메서드


메서드 명 

기능 설명 

 exists()

 현재 연결된 파일/디렉토리 존재 여부 (true / false 반환)

 getName()

 파일의 이름

 length()

 파일의 크기

 lastModified()

 마지막 수정 날짜를 가져옴 (밀리세컨로 가져옴, Date 클래스 활용하여야함)

 canRead()

 읽기 가능 여부

 canWrite()

 쓰기 가능 여부

 isHidden()

 숨김 여부

 getParent()

 상위 디렉토리명 (없을 시 null)

 isFile()

 현재 넘겨받은 매개변수 경로가 파일인가?

 isDirectory()

 현재 넘겨받은 매개변수 경로가 디렉토리인가?

 listFiles

 

 자료 출처 : Morph's House


(C:\test.txt)



파일/디렉토리 생성 & 삭제


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package io;
 
import java.io.File;
import java.io.IOException;
 
public class IO {
 
    public static void main(String[] args) {
        
        File file = new File("tistory.txt");
        System.out.println("exists : " + file.exists());
        System.out.println("===========================");
        
        try {
            
            file.createNewFile();
            System.out.println("파일 생성 완료!!");
            System.out.println("exists : " + file.exists());
            
        } catch(IOException ie){
            
            ie.printStackTrace();
            
        }
    }
}
cs

(파일을 생성하기 위해선 try~catch를 통한 예외처리가 필요하다.)


현재 tistory.txt파일은 없기때문에 exists를 출력하면 false가 출력된다.

createNewFile() 메소드를 사용하면 현재 File객체의 매개변수로 받은 tistory.txt파일을 만들게 된다.


(새로 생성된 파일은 프로젝트 폴더에 배치된다.)



이제 파일을 삭제해보자.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package io;
 
import java.io.File;
 
public class IO {
 
    public static void main(String[] args) {
        
        File file = new File("tistory.txt");
        
        file.delete();
        System.out.println("파일 삭제 완료!");
        System.out.println("exists : "+file.exists());
    }
}
 
cs


delete()메소드를 사용하면 된다. (실제로 프로젝트 폴더 내의 파일도 삭제된다)



폴더도 파일과 다를 게 별로 없다. 다만 생성할 때 메서드 이름이 좀 다르다.

mkdir() 메소드를 사용하면 된다. (폴더 생성은 예외처리가 필요없다.)

삭제는 마찬가지로 delete()를 사용.


'옛날' 카테고리의 다른 글

FileWriter로 파일에 문자 쓰기  (0) 2017.01.10
FileReader로 파일 읽어보기.  (0) 2017.01.10
[지방] 지방기능경기대회 문제 1  (0) 2017.01.07
[무작정] JDBC로 데이터베이스 생성,삭제  (0) 2017.01.06
4.JTextField  (0) 2017.01.06