[FileReader] - 텍스트파일의 텍스트(char형)읽기(데이터출력 / 문자스트림)
[메소드]
- read() :파일에 있는 문자 데이터를 한 자씩 읽어서 반환하는 메소드, 반환타입은 char가 아니라 int인데 char의 표현범위를 벗어난 다른정보도 리턴해서더이상 리턴 할 것이 없을 때에는 -1을 리턴하기 때문에 조건문에 명시해두면 무한반복을 멈출 수 있게할 것이다.
- read(char[] arr) : 위의 메소드와는 다르게 스트림 데이터를 바로 반환하는 것이 아니라 파라미터로 받은 문자 배열에 저장함. 앞의 메소드와 똑같이 문자를 다읽었을 때에는 -1을 반환한다. 이 메소드를 사용하기위해서는 문자 배열을 미리 만들어둬야함 앞서 말했다시피 한 자 한 자씩 읽는 것은 매우 효율적이지 못한 것이다. 그래서 한꺼번에 읽어오는 메소드를 사용한다.
- close : 파일에 대한 데이터 처리를 모두 끝낸 후 파일을 닫아주는 역할을 하는 메소드
[참고]
- api : http://docs.oracle.com/javase/8/docs/api/ 접근 후 FileReader 검색
=> api를 보면 해당 클래스에서 사용되는 메소드들은 보통 다 상속받은 것
- 사용 시 예외에 대한 처리를 해줘야함 : 해당 메소드에 throw하던지 try/catch문으로 예외처리
- 한 부분의 처리에서 여러가지 Exception이 예상될 때 세부적으로 나눠서 Exception을 예상해야함(파일을 닫을 때 제대로된 순서에 코드를 넣기위함)
=> try문은 하나, catch문은 여러개
[예시]
첫번째 - 파일을 열고 파일에 적힌 문자를 하나씩 읽어 StringBuilder로 문자열 만드는 과정
두번째 - 파일을 열고 파일에 적힌 문자를 하나씩 읽는데, 하나씩 반환되는 데이터를 미리 만들어둔 문자 배열에 저장하고 String 생성자에 넣어 문자열로
[FileWriter] - 텍스트파일의 텍스트쓰기(데이터입력 / 문자스트림)
- char형 데이터쓰기
[메소드]
- write(char cbuf[]) : 문자의 배열을 파라미터로 받아 파일에 입력하는 메소드
- write(String str) : String형 데이터를 파일에다가 입력하는 메소드
- close : 파일을 저장하고 닫는 메소드
[예시]
첫번째 - 기존 파일 존재여부에 상관없이 파일을 새로 만들고 String을 입력함
두번째 - 기존파일에 데이터를 쓰고, 파일이 없을 경우 생성해서 데이터를 입력함
'java' 카테고리의 다른 글
[Java] 자바 시작! - 왜? 자바 특징, JRE, JDK, JVM 살펴보기 (0) | 2017.09.01 |
---|---|
[Java] Stream - 이진데이터 파일 스트림 (0) | 2017.01.24 |
[Java] 자바, 데이터 입출력 방식 Stream (0) | 2017.01.24 |
[Java] java.lang 패키지 : Math, Random (0) | 2017.01.22 |
[Java] java.lang 패키지 : Calendar, DateFormat, TimeZone (0) | 2017.01.21 |
댓글