Java Programming Language (4)

Slides:



Advertisements
Similar presentations
All Rights Reserved, Copyright© UBIVELOX co.,Ltd LG U+ 과금 API 소개 Version1.0 Authorubivelox Date21-Feb
Advertisements

03 변수와 자료형 세종대학교 최옥경 교수 참고 : 한빛미디어 뇌를 자극하는 C, INFINITY Perfect C.
멘토링 2 주차 장 프로그래밍을 위한 자바의 자료형  값이 변하지 않는 상수  메모리 기억공간인 변수.
YES C 제 1 장 C 언어의 개요 1/34 제 1 장 C 언어의 개요 문봉근. YES C 제 1 장 C 언어의 개요 2/34 제 1 장 C 언어의 개요 1.1 프로그램과 C 언어의 특징 1.2 C 언어의 프로그램 구성 1.3 비주얼 C++ 통합 환경 들어가기.
Copyright © 2006 The McGraw-Hill Companies, Inc. 프로그래밍 언어론 2nd edition Tucker and Noonan 5 장 타입 “ 타입은 컴퓨터 프로그래밍의 효소이다 ; 프로그래밍은 타입을 통해 소화할만한 것이 된다.” 로빈.
Vision System Lab, Sang-Hun Han
캡스톤 프로젝트(자바) 입출력.
네트워크 프로그래밍 및 실습.
입출력 14.1 java.io 패키지의 개요 14.2 파일과 디렉토리
28강 JAVA 입출력(I/O) 알아보기 - 입출력(I/O) 이란? - JAVA 입출력 API(Input~, Output~)
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
C++ Tutorial 1 서강대학교 데이터베이스 연구실.
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
C++ Espresso 제1장 기초 사항.
객체지향 프로그래밍.
제9장 입출력과 JNI.
Understanding of Socket and File I/O
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
12장. JSP에서 자바빈 활용 제12장.
4부 클래스 라이브러리 “4부에서는 자바 언어의 API인 클래스 라이브러리에 관해 설명합니다
제 6 장 데이터 타입 6.1 데이터 타입 및 타입 정보 6.2 타입의 용도 6.3 타입 구성자 6.4 사례 연구
2주 실습강의 Java의 기본문법(1) 인공지능연구실.
Chapter 02 자바 기본구조 자바 프로그래밍의 기초적인 문법을 소개
2강. JAVA 프로그래밍이란?-II & 변수 JAVA 프로그램 환경설정과 실행 방법 변수란?
Power Java 제4장 자바 프로그래밍 기초.
Java 12장. 입출력 public class SumTest {
8장 자바 입출력.
7장 파일과 데이터베이스.
14.3 문자(character) 스트림과 바이트(byte) 스트림
Chapter 14. 입출력 스트림.
JAVA 프로그래밍 6장 객체지향프로그래밍의 핵심.
Choi, Namseok Java 기초 (Java의 제어문과 배열) Choi, Namseok
JAVA ADVANCED File IO IT 아카데미.
01. 직렬화와 역직렬화에 대하여 객체의 직렬화 직렬화와 역직렬화
명품 Java Programming.
제 11 장 java.lang 패키지 제 12 장 문자열 제 13 장 유틸리티 제 14 장 입출력 제 15 장 네트워킹
2장 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
Socket Address Structure and Byte Ordering Functions
Power Java 제7장 클래스와 객체.
DataScience Lab. 박사과정 김희찬 (월)
Socket Address Structure and Byte Ordering Functions
제2장 데이터 및 수식.
제 2 장 변수와 상수.
입출력 CHAPTER 12 Section 1 java.io 패키지 개요 Section 2 파일과 디렉터리
23강 API - II - 약방의 감초 Random 클래스 - Scanner 및 Sysout - Wrapper 클래스의 이해
DataScience Lab. 박사과정 김희찬 (월)
자바의 신 Volume 1 1부(1~3장) 자바의 신 메인 홈 : 자바의 신 페이스북: 자바의 신 문제 풀이 :
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
Ch.1 Iterator Pattern <<interface>> Aggregate +iterator
메소드와 클래스 정의 및 문제 풀이 Method and Class Define and Problem Solve
제 2장 어휘구조와 자료형 토 큰 리 터 럴 주 석 자 료 형 배 열 형.
Java의 정석 제 2 장 변수(Variable) Java 정석 남궁성 강의
네트워크 프로그래밍의 이해 School of Electronics and Information.
프로그래밍 원리 Chapter 04 자료 처리와 연산자 신한대학교 IT융합공학부 박 호 균.
컴퓨터공학실습(I) 3주 인공지능연구실.
학습목표 Chapter 2-1. 변수와 포인터 변수의 선언과 변수에 대한 메모리 할당을 살펴본다.
문자열 처리하기 working with Strings
Java 3장. 자바의 기본 구조 I : 변수, 자료형, 연산자 public class SumTest {
자바 5.0 프로그래밍.
포인터와 배열 조 병 규 한 국 교 통 대 학 교 SQ Lab..
Stream의 이해 : System Bufferring
3주차: Control Flow and Others
Spring, 2019 School of CSE Pusan National University
C.
printf("Global Korea\n");
Java의 정석 제 7 장 객체지향개념 II-3 Java 정석 남궁성 강의
Choi Younghwan CSE HUFS
자바 가상 머신 프로그래밍 Chapter 3. 메소드 작성하기 Pslab 오민경.
Presentation transcript:

Java Programming Language (4) Dong In Shin DCS lab Seoul National University

입출력 기능에 따른 stream의 분류(filtering) 목적 : 기존의 스트림에 원하는 입출력 기능을 제공하는 스트림을 연결하여 새로운 스트림을 만든다. dishin@dcslab.snu.ac.kr

입출력 기능에 따른 stream의 분류 자료를 문자열 표현으로 출력 Buffering : 효율적인 입출력 다중연결(Concatenating) : 여러 inputstream을 하나의 stream으로 만든다. 되돌림(Pushbacking): 일부 입력의 취소 자료를 내부 표현 그대로 입출력 객체의 내용을 입출력 dishin@dcslab.snu.ac.kr

PrintWriter , PrintStream 자료를 문자열 표현으로 출력 Type : int, long, float, double, boolean, char, char[], String, Object PrintStream 역시 PrintWriter와 거의 동일하게 동작하나, byte stream class이므로 논리적으로는 부적절하다.  가능하면 PrintWriter를 사용 new PrintWriter(Writer out, boolean autoflush=false); new PrintWriter(OutputStream out, boolean autoflush=false); print(Type data); println(Type data); dishin@dcslab.snu.ac.kr

PrintWriter Example dishin@dcslab.snu.ac.kr

Buffering Stream 내부 buffer를 제공함으로써 입출력의 효율성을 높임 BufferedReader, BufferedWriter의 경우에는 해당 운영체제에 적합한 행단위의 입출력 기능도 제공( readLine ) 한 행의 문자열을 읽어서 ‘행 분리자’ 문자열을 버리고 나머지 문자열을 반환한다. 해당 운영체제의 ‘디폴트 행 분리자’ 문자열( line.separator )을 출력 String readLine(); newLine(); dishin@dcslab.snu.ac.kr

Buffering Example dishin@dcslab.snu.ac.kr

dishin@dcslab.snu.ac.kr

되돌림 스트림(Pushbacking) 이미 입력된 byte나 character를 stream으로 되돌릴 수 있는 stream dishin@dcslab.snu.ac.kr

dishin@dcslab.snu.ac.kr

Input stream 을 일련의 token으로 변환 Input stream을 parsing을 통하여 토큰(token)으로 변환 토큰(token) 단어, 숫자, 스트링, 보통 문자(+,-), 줄 주석(//) dishin@dcslab.snu.ac.kr

dishin@dcslab.snu.ac.kr

dishin@dcslab.snu.ac.kr

기본 자료형 자료의 내부 표현 입출력 기본 자료형의 자료를 내부 표현 그대로 입출력 1 byte 이상을 차지하는 자료형의 자료는 상위 바이트부터 입출력(big endian order 혹은 network byte order) dishin@dcslab.snu.ac.kr

DataOutput/DataInput Interface 기본 자료형 자료의 내부 표현 입출력을 위한 method 정의 write( int b ); writeByte( int b ); write( byte b[] ); write( byte b[], int off, int len ); writeShort( int v ); writeInt( int b ); writeLong( long b ); writeFloat( float b ); writeDouble( double b ); writeBoolean( boolean b ); writeChar( int b ); writeChars( String b ); byte readByte(); int readUnsignedByte(); readFully(byte buf[]); readFully(byte buf[], int off, int len); int skipBytes(int n); Short readShort(); int readUnsignedShort(); int readInt(); long readLong(); double readDouble(); boolean readBoolean(); char readChar(); dishin@dcslab.snu.ac.kr

dishin@dcslab.snu.ac.kr

dishin@dcslab.snu.ac.kr

객체 직렬화(object serialization) 객체의 내용을 파일 혹은 네트워크를 통하여 byte stream으로 입출력 http://java.sun.com/products/jdk/1.1/docs/guide/serializaton http://wwwipd.ira.uka.de/~hauma/betterserial/ dishin@dcslab.snu.ac.kr

ObjectOutput/ObjectInput interface 기본 자료형의 자료 및 객체를 입출력하기 위한 method 정의 writeObject(Object obj); flush(); close(); Object readObject() throws ClassNotFoundException int read(); int read(byte buf[]); int read(byte buf[], int off, int len); dishin@dcslab.snu.ac.kr

dishin@dcslab.snu.ac.kr

dishin@dcslab.snu.ac.kr

Serializable interface Serializable interface를 구현하지 않는 class의 객체는 객체직렬화로 입출력 할 수 없다.  NotSerializableException 발생 많은 표준 class들은 Serializable interface를 구현 Transient로 선언되지 않은 instance 변수가 입출력 instance 변수가 객체를 참조하는 경우, 그 객체도 입출력 ( 그 객체의 class 역시 Serializable interface를 구현해야 한다 ) dishin@dcslab.snu.ac.kr

dishin@dcslab.snu.ac.kr

dishin@dcslab.snu.ac.kr

dishin@dcslab.snu.ac.kr

dishin@dcslab.snu.ac.kr

Serializable interface Serializable을 구현하는 class에 다음 method가 정의되면, 그 class에 직접 정의되어 있는 인스턴스 변수가 입출력되려고 할 때 , 대신 다음 method가 호출 된다. Private void writeObject(ObjectOutputStream stream) Private void readObject(ObjectInputStream stream) dishin@dcslab.snu.ac.kr

dishin@dcslab.snu.ac.kr

dishin@dcslab.snu.ac.kr

dishin@dcslab.snu.ac.kr