Daily coding

Java Basic : day 7 - File Read 파일 읽기 본문

Language/Java_basic

Java Basic : day 7 - File Read 파일 읽기

sunnnkim 2019. 11. 26. 19:36

File Read


- file 의 실질적 목적  : 데이터 읽기와 쓰기 (저장)
- 외부에서 텍스트 파일에 기입함

 


Read


File file = new File("d:\\tmp\\newfile.txt");
FileReader fr = new FileReader(file);  -> 텍스트 파일을 읽어오는 클래스

          // 예외처리 필요함 --> throws / try-catch

 

방법 1 : 한 문자씩 읽어들인다.


int c = fr.read();
while( c!= -1) {  // -1은 파일 끝부분임 
        System.out.println((char)c);
        c = fr.read();
         // 윈도우에서 만든 파일은  MS949 라 UTF8은 깨짐
         // 내부에서 작성한 파일은 안깨진다.
 }

 

 

방법 2 : 전체를 한글자씩 읽기

 

int c;
while( (c=fr.read())!= -1) { // -1은 파일 끝부분임 
        System.out.println((char)c);
        // 윈도우에서 만든 파일은  MS949 라 UTF8은 깨짐
        // 내부에서 작성한(fileWrite) 파일은 안 깨진다.
 }


 위의 코드는 사용하기 껄끄러움
 문자열을 잘라야하는 경우에 시작점을 알기 어렵다.



방법 3 : 한 문장씩 읽기 (BufferedReader)



Buffer = 저장공간 

// fr = fileReader 의 클래스 변수

BufferedReader br = new BufferedReader(fr); // <-- FileReader을 한문장씩 읽어줌

 


String str; // 한 문장 씩 읽어들이기 위한 변수

str = br.readLine();

while( str != null) { 
        System.out.println(str); 
        str = br.readLine(); // 다음 문장을 읽어들인다. 
} 

 

또는


while( (str = br.readLine()) != null) { 
        System.out.println(str);
}

 


// BufferedReader는 사용이 끝나면 close()해줘야 한다.

br.close();











}
}