ㅇㅅㅇ
입력 / 출력
-> 우리가 만드는 프로그램이 할당 받을 메모리 외부와 데이터를 주고받음
파일 입출력 => byte단위
스트림 (stream)
: 순서가 있는 데이터의 연속적인 흐름
=> 스트림은 입출력을 물의 흐름처럼 간주하는 것
입출력 되는 데이터들은 모두 스트림을 통과한다.
=> 스트림은 연결될 수 있다.
스트림의 분류
inputStream과 OutputDStream은 1byte씩 보내고, 숫자 표현은 0~255까지 할 수 있다.
버퍼의 역할
그냥 inputStream과 OutputDStream은 1byte씩 보낸다.
=> 바가지로 한번에 옮기면 한번에 더 많은 양을 보낼수 있다.
=> Buffered가 바가지의 역할을 할 수 있다.
이렇게 되면 처리가 안되고 남아있는 데이터가 생긴다.
=> . flush()를 사용한다.
기본형 데이터의 입출력
객체의 입출력
객체를 쪼갠다.
=> 막 쪼개두면 순서를 모른다.
=> 쪼개면서 순서대로 정리를 해 순차적인 데이터로 만든다.
=> 직렬화
class 클래스명 implements Serializable
=> Serializable 인터페이스를 상속
in.readObject도 예외처리를 해야함.
직렬화를 안했을 때
=> 예외가 발생한다.
직렬화 해보기
첫번째나 두번째를 사용
=> 두번째 꺼 사용
직렬화에서 열외
입출력은 데이터를 읽어오는 거라 멤버변수만 직렬화에서 열외를 시킬 수 있다.
in.close()
out.close()
닫을 때 순서는 상관없다.
닫지 않으면 계속 남아있다.
파일 복사하기
char형으로 한글자씩 읽어온다.
BBufferedReader / BufferedWrite
=> 한줄 단위로 읽어온다.
=> .readLine()
'Java > 자바 기반 웹 개발자 과정 필기' 카테고리의 다른 글
[200323.21일차] VMWare & Oracl SQL 커맨더, SQL Developer 설치, 설정하기 (0) | 2020.03.23 |
---|---|
[200320.20일차] (0) | 2020.03.20 |
[200319.19일차] 네트워크 프로그래밍 (0) | 2020.03.19 |
[200317.17일차] 예외처리 (0) | 2020.03.17 |
[200316.16일차] (0) | 2020.03.16 |
[200313.15일차] (0) | 2020.03.13 |
[200312.14일차] (0) | 2020.03.12 |