1. 메모리 -> 파일
각 자료형을 인코딩(필터 사용)해서 파일로 저장할 것이다. 따라서 Data source는 메모리이며 Data destination은 file이 되는 것이므로 입력스트림은 불필요하며 출력스트림만 있으면 된다.
▲ 다양한 자료형으로 데이터 소스를 만든다.
▲파일형식으로 출력할 것으이므로 FileOutputStream을 이용해 출력용 노드스트림을 만들어준 후 필터스트림인
DataOutputstream을 이용해 인코딩을 해준다.
▲ 자료형마다 출력용 메소드가 달리 존재하므로 자료형에 맞게 메소드를 이용해 출력한다.
2. 파일 -> 메모리
이번에는 파일에 저장된 데이터값을 불러와 각 자료형 값을 디코딩(필터링(해서 각 자료형 변수에 저장해보자
그리고 확인차 모니터에도 출력하자
여기저 주의할 점은 위에서 우리가 DataOutputStream으로 필터링을 했다. 즉 암호화를 했다. 이렇게 DataOutputStream으로 저장한 데이터는 아래와 같이 우리가 알아볼 수 없게 저장된다.
따라서 DataInputStream클래스를 사용해서 읽어야 제대로 읽어오며 읽어올때는 저장된 자료형 순서대로 읽어와야 한다.
Data source는 파일이며 Data destination은 메모리이므로 이번에는 출력용 스트림이 필요없다.
▲ 입력스트림 생성
▲출력시에는 반드시 저장된 자료형 순서대로 읽어와야 한다.
▲ 더 이상 읽어올 데이터가 없는데도 데이터를 읽을려고 한다면 EOException이 발생한다. 이는 Run-time error의 한 종류이다.
'Java' 카테고리의 다른 글
[Java]입력과 출력 - File (0) | 2022.03.27 |
---|---|
[Java]입력과 출력 -part.7(Object InOutStream) (0) | 2022.03.27 |
[Java]입력과 출력 -part.5(Buffered InOut) (0) | 2022.03.23 |
[Java]입력과 출력 -part.4(BufferedReader/BufferedWriter) (0) | 2022.03.23 |
[Java]입력과 출력 -part.3(File -> Monitor, File) (0) | 2022.03.23 |