[IO 관련 예제코드]
- 레포 : https://github.com/imjinbro/javaBasic/tree/master/src/com/jinbro/source/io
- 아직 포스팅 하지않았지만 스트림 사용(byte, char 단위 각각, 콘솔, 파일 네트워크IO) 예제가 있음
- 네트워크 IO는 콘솔기반 다중접속 채팅프로그램을 구현하면서 익히는 중
(1) 소켓 - 스트림 데이터 통신
(2) 서버(1) : 클라이언트(N) - 대기실 채팅, 명령어까지 구현
(3) 방 만들고 따로 참여해서 방 채팅하는 것은 구현하는 중
(4) 이후 리팩토링까지..... : 객체지향스럽게(https://imjinbro.github.io/)
[I/O]
- 데이터를 외부에서 읽고, 외부로 출력하는 작업 : Input, Output
- IO : 키보드, 모니터, 파일, 네트워크
- 자바 IO
(1) 스트림을 통해서 입출력 : 스트림은 개념, 스트림을 구체화한 것이 IO 패키지의 클래스들
[스트림이란]
- 단방향으로 연속적이게 흘러가는 형태 : 출발지에서 나와서 도착지로 들어감
- 프로그램이 출발지냐 도착지냐에 따라 스트림 종류가 다름
(1) 도착지 : 입력 스트림(InputStream)
(2) 출발지 : 출력 스트림(OutputStream)
- 프로그램이 네트워크 상의 다른 프로그램과 데이터 교환을 위해 두 스트림이 모두 필요 : 단방향!
[자바 I/O]
- java.io 패키지 내 API 제공 : 다양한 I/O 클래스 제공
- 입출력 스트림 대상에 따라 세분화 : 파일, 콘솔, 네트워크 상 프로그램
- 데이터 타입(단위)에 따라 세분화 : Byte, Char
(1) 바이트 기반 스트림 : 이미지, 멀티미디어, 문자 등 모든 종류의 데이터(XXXInputStream - XXXOutputStream)
(2) 문자 기반 스트림 : 문자만 주고 받을 수 있도록 특화됨(XXXReader - XXXWriter)
'java' 카테고리의 다른 글
[Java] IO - 문자(char) 단위 IO 개념 그리고 예제코드 repo (0) | 2017.12.07 |
---|---|
[Java] IO - 바이트 단위 IO 개념 그리고 예제코드 repo (0) | 2017.12.07 |
[Java] 람다식 - 단순히 syntactic sugar 아니네요 (0) | 2017.11.14 |
[Java] 자료구조 API - 컬렉션프레임워크 (0) | 2017.11.08 |
[Java] java8 - Functional Programming이 뭘까 왜 쓰지 그리고 람다식은? (0) | 2017.11.02 |
댓글