본문 바로가기

JAVA

JAVA(2022.05.28) - 다양한 타입의 출력(DataOutputStream, DataInputStream)

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 인터페이스를 구현해야한다 

 

 

 

 

 

 

 

 

*위 게시물은 프로그래머스<자바중급>을 복습하며 작성한 글입니다*