BigData 청년인재 프로그램(Java) - 15. 입출력
15. 입출력 6/30(금)Day05 <데이터 전송통로 종류> -Stream : 단방향 전송통로 -IO패키지 : 양방향 전송통로 <데이터 전송단위> -BinaryByte : InputStream추상클래스(입력), OutputStream추상클래스(출력) -StringByte : Reader추상클래스(입력), Writer추상클래스(출력) <파일종류> -그림파일 : 2진바이트 -> InputStream, OutPutStream -텍스트파일 : ANSI표준(ASCII코드,1바이트) or UTF-8표준(UNI코드,2바이트) ->Reader, Writer -1.문자 -> 2.인코딩 -> 3.바이너리-> 4.디코딩 ->문자 <1. 스트림 개념> -입출력장치와 프로그램간 데이터전송 통로, 연속된 데이터 흐름 <2. 바이트 단위 스트림> -바이트기반 파일 입출력(그림,코드,...) <3. 문자 단위 스트림> -문자기반 파일 입출력(문자) <4. 보조 스트림> -문자변환 보조 스트림 : 데이터와 스트림의 형태가 다를때 사용?? -성능 향상 보조 스트림 : 버퍼input, 버퍼output -기본 타입 보조 스트림 : 기본형 -> 바이트 스트림형태로 입출력 -객체 입출력 보조 스트림 : 객체 -> 바이트나 문자단위로 입출력 -> !!마셜링+언마셜링기술!! -직렬화가 가능한 클래스 = Serializable 인터페이스를 구현한 클래스 public class A implements Serializable { int a; int b; ...} #A클래스의 기본형, 객체(참조형)은 모두 직렬화가 가능해진다. #transient 키워드가 붙은 멤버변수나 멤버메소드??는 직렬화 전송 불가능??