개발노트/Java

[Java] File Class

Dahoon06 2021. 3. 19. 14:44
728x90
반응형

java.io 패키지는 기존의 파일이나 폴더에 대한 제어를 하는 데 사용하는 File 클래스를 제공

파일의 정보 / 폴더와 파일 구분 

파일에 쓰고 저장 / 파일 내용 읽기 

=> 외부의 데이터를 조작하기 때문에 예외처리(IOException)을 해주지 않으면 컴파일 되지않는다.

                                                             IO => InputOutput

File file = new File("경로");

File file = new File("경로/파일명");

예) D:\filetest\log.txt

자바 : D:/filetest/log.txt

 

File 클래스의 메소드

 

파일의 이름 : getName() => 문자열로 반환

=> 파일의 이름 출력

파일의 경로 : getPath() => 문자열로 반환

 

파일의 절대경로 : getAbsolutePath() => 문자열로 반환

 

파일 존재 여부 : exists() => 논리값 반환

 

파일 수정 여부 : canWrite() => 논리값 반환

 

파일 읽기 가능 여부 : canRead() => 논리값 반환

 

파일 인지 여부 => D:/filetets/log.txt // isFile() => 논리값 반환

 

폴더 인지 여부 => D:/filetets // isDirectory() => 논리값 반환

 

 

파일 최종 수정 날짜 : 정수 => long 타입 // lastModified() => 정수

파일 크기 : byte 타입 // length() => 정수

 

D:/filetest/log.txt <== 절대 경로

예) D:/filetest 현재 위치

"./log.txt" <== 상대 경로 : 현 위치기준 log.txt

예)현 위치/log.txt

"../log.txt" <== 상대 경로 : 현재 폴더의 상위폴더 안에 log.txt

예) D:/log.txt

 

자바 웹으로 들어가면 대부분 상대경로를 사용하지 절대경로는 쓰지않는다.

(다른 사람에게 보냈을때 서로의 컴퓨터 환경이 같지 않기때문에(폴더구조) 파일이 깨지게 된다.)

//정수를 날짜로 => Data클래스 : java.util 패키지로 사용해야함

Date date = new Data(정수);

 

list() : 지정한 경로 내의 폴더명과 파일명을 문자열 배열로 반환 : String[] 변수로 저장 받는다.
만약, 해당 문자열을 이용하여 파일의 정보를 알아 내려면 반드시, File 객체를 이용해야한다.


주의 : 해당 폴더 내부만 검색 가능 폴더 안의 폴더 내용은 검색 불가능

 

출력값

파일을 직접 쓰고 저장하는 방법

 

FileWriter클래스와 BufferedWriter클래스 

1.FileWriter 객체 생성

FileWriter fw = new FileWriter(값);  => 값을 넣어줘야한다.(파일의 경로) => uri를 넣어줌

                                               =>ex) String uri = "D:filetest/test.txt";

* 없는 파일은 생성까지 해주고 존재하는 파일이면 파일을 열고 대기한다.

 

2.BufferedWriter  객체 생성

BufferedWriter bw = new BufferedWriter(FileWriter 객체); => fw넣어줌

 

String s ="asfasfawdsfdsafawefsfasdfaefasdfawfsdfefsfdsfaew"; // 추가할 값을 변수에 저장 시켰다.

3.bw.writer(s);  

정해놓은 파일에 변수 s에 들어있는 값을 넣어준다.

4.bw.close();

닫아줘야 저장 된다.

5.fw.close();

 열렸던 파일이 닫힌다.

 

* 외부데이터를 건드렸기때문에 예외처리 필수

 

파일인지 폴더인지(디렉토리) 확인

파일 읽기 FileReader클래스와 BufferedReader 클래스

 

FileReader fr = new FileReader();

 

BufferedReader br = new BufferedReader();

728x90
반응형

'개발노트 > Java' 카테고리의 다른 글

[Java] 예외 처리  (0) 2021.04.02
[Java] method  (0) 2021.03.19
[Java] String Method  (0) 2021.03.17
[Java] 배열과 ArrayList  (0) 2021.03.17
[Java] 보수  (0) 2021.02.20