개발/JAVA

[Java] 텍스트 파일 읽기, Reader, FileReader, File, BufferedReader

mabb 2023. 6. 9. 16:38
반응형

- 자바에서 파일 자체의 데이터를 읽고 쓰는 것 (파일 입출력)은 스트림을 이용하여야 한다.

-java.io.File 클래스는 파일에 대한 정보, 파일 생성, 삭제, 디렉토리 생성 및 디렉토리 내부 리스트 등의 기능을 제공하며 파일 입출력 기능은 제공하지 않는다.

-문자 기반 입력스트림인 Reader 의 구상 클래스 중 파일을 읽는데 사용하는 FileReader를 사용한다. FileReader 인스턴스생성 시 File객체를 매개변수로 넣어준다. 직접 파일 경로를 매개변수로 넣지 않는 이유는 FIle 존재 여부 등을 확인하여 조금 더 안전하게 사용하기 위해서이다. Reader 타입 객체는 성능향상을 위하여 BufferedReader 객체 생성 시 매개변수로 제공하고 실제로는 보조스트림인 BufferedReader 객체로 파일을 읽는다. BufferedReader를 이용하면 readLine()메소드를 통해 \r, \n (엔터키,  캐리지리턴, 라인피드) 로 구분된 행 단위로 문자열을 한꺼번에 읽을 수 있어 편리하다.

0.파일을 다룰 경로

String tmp  = System.getProperty("user.home");

 

1. File 객체 생성

File file = new File(tmp + "\\log.txt");
if(!file.exists()){
    file.createNewFile();
}

 

2. Reader 타입 참조변수 

Reader reader = new FileReader(file);

 

3. FileReader로 구체화

Reader reader = new FileReader(file);

 

4. BufferedReader 보조 스트림 사용

BufferedReader br = new BufferedReader(reader);

 

5. 파일 읽기

while(true){
    String str = br.readLine();
    System.out.println(str);
    if(br.read() == -1) break;
}

 

반응형