DataInputStream, DataOutputStream
- 데이터를 변환까지 해주어서 파일을 읽고 쓰는 클래스
- 프리미티브 타입의 데이터를 읽고 쓸 수 있다
DataOutputStream 사용법
- DataInputStream과 DataOutputStream은 스스로 파일을 읽고 쓸 수 없다
- 그래서 선안할 때 , FileOutputStream을 매개변수로 받아서 사용해야 한다
ex) DataOutputStream
DataOutputStream out = new DataOutputStream(new FileOutputStream("data.txt"));
- write() 메소드를 데이터를 작성할 수 있다
- writeInt() - 정수값으로 저장 > 정수형(4Byte)를 4등분으로 쪼개서 파일에 작성함
- writeBoolean() - boolean값으로 저장
- writeDouble() - double 값으로 저장
등 여러가지 타입으로 데이터를 저장 및 작성할 수 있다
DataInputStream 사용법
- FileInputStream을 매개변수로 받는다
DataInputStream out = new DataInputStream(new FileInputStream("data.txt"));
- read() 메소드를 통해 파일을 읽을 수 있다
- readInt() > 4바이트를 읽는다
- readBoolean() > 1바이트를 읽어서 0이면 false, 아니면 true
- readDouble() > 8바이트를 읽는다
등 여러가지 타입으로 데이터를 읽어들일 수 있다
try-with-resources 블럭 선언
- java io객체니는 인스턴스를 만들고, 모두 사용하면 close()메소드를 호출해야 한다
- close()메소드를 사용자가 호출하지 않아도, Exception이 발생하지 않았다면 자동으로 close(0가 되게 해준다
try(
//io객체 선언
){
//io객체 사용
}catch(Exception ex){
ex.printStackTrace();
}
- try 옆에 괄호 안에서 리소스를 생성한다
- try-with-resources 구문을 사용하면 자동으로 리소스가 반납된다
- try옆의 resources는 반드시 java.lnag.AutoCloseable 인터페이스를 구현해야한다
*위 게시물은 프로그래머스<자바중급>을 복습하며 작성한 글입니다*
'JAVA' 카테고리의 다른 글
JAVA(2022.05.30) - Annotation(어노테이션) (0) | 2022.05.30 |
---|---|
JAVA(2022.05.29) - char 단위 입출력(Console, File) (0) | 2022.05.29 |
JAVA(2022.05.27) - Byte 단위 입출력 심화 (0) | 2022.05.27 |
JAVA(2022.05.26) - Byte단위 입출력 (0) | 2022.05.26 |
JAVA(2022.05.25)-자바IO (0) | 2022.05.25 |