Daily Pogle

[Java] File 사용하기 - 파일 입출력 본문

Programming language/Java

[Java] File 사용하기 - 파일 입출력

pogles 2022. 12. 26. 23:14

파일 입출력을 위한 예제 정리

 

[사용 패키지]

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

// import java.io.* 한줄만 사용하셔도 됩니다.

 

1. 해당 경로의 모든 파일 확인

File file = new File("c:\\");

File filelist[] = file.listFiles();

for (int i = 0; i < filelist.length; i++) {
    if(filelist[i].isFile()) {
        System.out.println("[파일]" + filelist[i].getName());
    }
    else if(filelist[i].isDirectory()) {
        System.out.println("[폴더]" + filelist[i].getName());
    }
    else {
        System.out.println("[?]" + filelist[i].getName());
    }
}
Method operaiton return
new File(파일경로); 해당경로에 대한 파일객체 생성 File object
File.listFiles() 해당경로에 모든 디렉토리 파일에 대한 객체 배열 생성 File object array
File.list() 해당경로에 모든 디렉토리 파일에 대한 String 배열 생성 String array
File.isFile() 해당 파일객체가 파일인지 여부확인 boolean
File.isDirectory() 해당 파일객체가 폴더인지 여부확인 boolean

 

2.  파일 생성 및 확인

// 파일을 생성
File newfile = new File("c:\\tmp\\newfile.txt");

try {
    if(newfile.createNewFile()) {
        System.out.println("파일 생성 성공!");
    }else {
        System.out.println("파일 생성 실패");
    }
}catch(IOException e) {
    e.printStackTrace();
}

// 파일의 존재 여부
if(newfile.exists()) {
    System.out.println("파일이 존재합니다");
}else {
    System.out.println("파일이 존재하지 않습니다");
}

// 읽기전용
newfile.setReadOnly();

// 삭제
newfile.delete();

 

Method operaiton return
File.createNewFile() 해당 File 생성 (try ~ catch 문 필요) boolean (성공 true : 실패 false)
File.exists() 해당 File 이 지정된 경로에 있는지 여부 확인 boolean (존재 true : 없음 false)
File.setReadOnly() 해당 File 을 읽기전용으로 설정합니다(수정불가됨) void
File.delete() 해당 File 을 삭제합니다. void

 

3. 파일 쓰기

File f = new File("c:\\tmp\\iofile.txt");

/* FileWriter */ 

// 초기화 후 쓰기
FileWriter FW = new FileWriter(f); // FileWriter Object
FW.write("안녕하세요");
FW.close();

// 이어서 쓰기
FileWriter FW = new FileWriter(f, true); // FileWriter Object
FW.write("안녕하세요");
FW.close();



/* PrintWriter */

PrintWriter PW = new PrintWriter(new BufferedWriter(new FileWriter(f)));
PW.print("안녕하세요");
PW.print("개행하고 안녕하세요");
PW.close();
Method operation option
FileWriter FW = new FileWriter(파일객체) 파일 쓰기에 활용되는 기능 파일초기화 후 쓰기
FileWriter FW = new FileWriter(파일객체, true) 초기화 없이 이어서 쓰기
PrintWriter PW = new PrintWriter(new BufferedWriter(new FileWriter(파일객체))); printf, println 등 다양한 형식으로 쓰기 가능

* FileWriter 와 PrintWriter 의 차이

  FileWriter   PrintWriter
  Exception 발생 시 Throw 시킴   Exception 발생 시 체크할 수 있는 checkError() 제공 
  unbuffered stream     buffered stream
  즉각적인 데이터 처리시 유리   대량의 데이터 처리시 유리

 

'Programming language > Java' 카테고리의 다른 글

[Java] Scanner vs BufferedReader  (0) 2023.01.22
[Java] 추상클래스  (0) 2023.01.19
[Java] 입력 예외처리 - InputMisMatchException  (1) 2022.12.30
[Java] Wrapper class  (0) 2022.12.21