개발환경 :
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 |