자바 5.0 프로그래밍.

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

컴퓨터와 인터넷.
I/O 프로그래밍 컴퓨터 공학실험(I) 인공지능 연구실.
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
자바네트워크 제2주 바이트 입출력 스트림, 필터 입출력 스트림 컴퓨터시뮬레이션학과 2014년 봄학기 담당교수 : 이형원
캡스톤 프로젝트(자바) 입출력.
입출력 I/O 유진석.
네트워크 프로그래밍 및 실습.
Java의 정석 제 14 장 입출력(I/O) Java 정석 남궁성 강의
입출력 14.1 java.io 패키지의 개요 14.2 파일과 디렉토리
Image & Video processing
제14장 동적 메모리.
Power Java 제3장 이클립스 사용하기.
5강. Servlet 본격적으로 살펴보기-I 프로젝트 만들기 doGet() doPost()
최윤정 Java 프로그래밍 클래스 상속 최윤정
파일 입출력에 사용되는 자바 클래스들 JDK 라이브러리의 파일을 다루는 클래스들 파일의 내용을 읽고 쓰는 클래스들
14.3 문자(character) 스트림과 바이트(byte) 스트림
Chapter 14. 입출력 스트림.
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
JAVA ADVANCED File IO IT 아카데미.
18장. IO기반 입출력 및 네트워킹.
Lesson 6. 형변환.
5장. 참조 타입.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
자바 5.0 프로그래밍.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
명품 JAVA Essential.
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
TCP/IP Socket Programming…
10장. 예외처리.
자바 5.0 프로그래밍.
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
CHAP 12. 리소스와 보안.
명품 JAVA Programming.
입출력 CHAPTER 12 Section 1 java.io 패키지 개요 Section 2 파일과 디렉터리
I/O&socket통신 POWERPOINT & GROUP STUDY 한재희 김상훈 최기람 황인준 이어진.
JA A V W. 03.
자바 5.0 프로그래밍.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
유승석 FILE I/O File Input/Output 유승석 SD50 – C# & .NET Platform.
영상처리 실습 인공지능연구실.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
24장. 파일 입출력.
Lesson 2. 기본 데이터형.
Lab 1 Guide: 교재 2장 DrawX ( 쪽)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
USN(Ubiquitous Sensor Network)
자바 5.0 프로그래밍.
CHAP 21. 전화, SMS, 주소록.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
18강. 인터페이스 – II - 인터페이스와 다중상속 - 인터페이스를 통한 로봇 장남감 만들기 프로그래밍
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
뇌를 자극하는 Solaris bible.
DK-128 직렬통신 실습 아이티즌 기술연구소
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
MIDP 네트워크 프로그래밍 ps lab 김윤경.
Chapter 12 파일 입출력.
JSP Programming with a Workbook
CHAP 15. 데이터 스토리지.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
6 객체.
JAVA 프로그래밍 16장 JNLP.
Presentation transcript:

자바 5.0 프로그래밍

chapter 12 : 자바 I/O

학습목표 스트림 ( Stream ) byte스트림 char스트림 node 와 filter 스트림 File 클래스 객체 직렬화 transient

정의 source destination 입출력 장치 종류 스트림 ( Stream ) 자바 애플리케이션 입장에서 데이터를 소스로부터 입력받거나 또는 목적지로 출력할 수 있도록 해주는 것. 자바의 입출력을 도와주는 매개체. source destination 입력 스트림 출력 스트림 자바 애플리케이션 입출력 장치 종류 파일 키보드 , 모니터 메모리 네트워크 연결 이러한 장치에 데이터를 입력,출력해주기 위한 다양한 스트림이 제공된다.

특징 데이터 종류에 따른 분류 스트림 ( Stream ) 단방향이다. ( Input 스트림 , output 스트림으로 구별 ) FIFO 구조이다. 스트림끼리의 연결이 가능하다. ( Filter Chain) 데이터 종류에 따른 분류 바이트(byte : 8bit ) 동영상, 이미지, 사운드등과 같은 형태의 데이터 처리 문자( char : 16bit ) 일반적인 문자 데이터 처리

데이터 처리방식에 따른 분류 스트림 ( Stream ) Node 스트림 계열 단순한 입출력만을 담당한다. 직접적인 장치에 연결된다. 예> InputStream , OutputStream, FileReader , FileWriter FileInputStream , FileOutputStream 등 Filter 스트림 계열 입력된 데이터를 조작하거나 , 조작된 데이터를 출력하는 추가 작업을 담당한다. 효율적인 입출력이 가능하다. 예> InputStreamReader , OutputStreamWriter, DataInputStream DataOutputStream , BufferedReader , BufferedWriter, ObjectInputStream , ObjectOutputStream 등

ByteArrayInputStream LineNumberInputStream 입력 스트림 계층구조 InputStream FilterInputStream FileInputStream ByteArrayInputStream ObjectInputStream LineNumberInputStream DataInputStream BufferInputStream PushbackInputStream Reader FilterReader CharArrayReader InputStreamReader StringReader PushbackReader FileReader BufferedReader

ByteArrayOutputStream 출력 스트림 계층구조 OutputStream FilterOutputStream FileOutputStream ByteArrayOutputStream ObjectOutputStream DataOutputStream BufferOutputStream PrintStream Writer FilterWriter CharArrayWriter OutputStreamWriter PrintWriter FileWriter BufferedWriter

스트림 ( Stream ) 표준 입출력 표준 입력 : 키보드 System.in 표준 출력 : 모니터 System.out

java.io.InputStream 스트림 ( Stream ) 특징 byte 입력을 하는데 필요한 메소드를 정의한 추상 클래스이다.

java.io.InputStream 스트림 ( Stream ) java.io.FileInputStream 시스템에 있는 파일을 읽을 수 있는 기능을 제공한다. byte 단위로 읽는다. 파일이 존재하지 않으면 FileNotFoundException이 발생된다. java.io.BufferedInputStream 버퍼링은 입출력 작업을 향상시키기 위해서 사용되는 기술이다. java.io.DataInputStream 기본형 데이터를 읽기 위한 메소드를 정의한다.

java.io.OutputStream 스트림 ( Stream ) 특징 byte 출력을 하는데 필요한 메소드를 정의한 추상 클래스이다.

java.io.OutputStream 스트림 ( Stream ) java.io.FileOutputStream 시스템에 있는 파일에 쓸수 있는 기능을 제공한다. byte 단위로 쓴다. java.io.BufferedOutputStream 버퍼가 채워질 때마다 대량으로 쓰기 작업이 된다. flush 기능은 버퍼에 채워지지 않더라고 쓰기 작업이 가능 java.io.DataOutputStream 기본형 데이터를 쓰기 위한 메소드를 정의한다. java.io.PrintStream 모든 데이터 형을 화면에 출력해주는 print() , println() 메소드가 정의됨.

java.io.Reader 스트림 ( Stream ) 특징 char 입력을 하는데 필요한 메소드를 정의한 추상 클래스이다. InputStream 과의 차이점은 2byte 로 읽을 수 있는 메소드가 제공된다.

java.io.Reader 스트림 ( Stream ) java.io.FileReader 시스템에 있는 파일에 읽을수 있는 기능을 제공한다. char 단위로 읽는다. 파일이 존재하지 않으면 FileNotFoundException이 발생된다. 읽은 데이터를 출력해도 글자 깨짐현상이 없다. java.io.BufferedReader 버퍼링으로 처리되면 한 라인을 읽을 수 있는 readLine() 메소드가 제공된다. 한 라인의 끝은 ‘\r’, ‘\n’ 중 하나가 올 경우 또는 ‘\r\n’ 이 오는 경우에 인식한다.

java.io.Writer 스트림 ( Stream ) 특징 char 출력을 하는데 필요한 메소드를 정의한 추상 클래스이다. OutputStream 과의 차이점은 2byte 로 쓸 수 있는 메소드가 제공된다.

java.io.Writer 스트림 ( Stream ) java.io.FileWriter 시스템에 있는 파일에 쓸수 있는 기능을 제공한다. char 단위로 쓴다. 파일이 존재하지 않으면 자동생성된다. 생성자의 boolean 값에 따라서 덮어쓰기 또는 내용추가 인지 구별할 수 있다.

java.io.Writer 스트림 ( Stream ) java.io.BufferedWriter 버퍼링을 통한 char 단위 쓰기 스트림이다. 한 줄 내려쓰기를 할 수 있는 newLine() 메소드가 제공된다. java.io.PrintWriter 바이트 출력 및 문자 출력 모두 가능한 스트림이다. 자동 flush 기능을 포함한다.

InputStreamReader 와 OutputStreamWriter 바이트입력스트림을 문자입력스트림으로 변경시 사용한다. 예 > 키보드로 입력받은 바이트를 문자로 변경시. new InputStreamReader( System.in ); OutputStreamWriter 바이트출력스트림을 문자출력스트림으로 변경시 사용한다.

표준 입출력 예제 스트림 ( Stream ) System.out BufferedReader ( readLine() ) InputStreamReader System.out System.in

표준 입출력 스트림 결합 ( Filter Chain ) 스트림 ( Stream ) 표준 입출력 스트림 결합 ( Filter Chain ) System.in InputStreamReader BufferedReader ( readLine() ) System.out System.in node filter Node 계열에는 한 라인씩 읽을 수 있는 메소드가 없다. 효율적인 I/O 작업을 위해서 filter 계열을 사용한다.

정의 용도 생성 File 클래스 OS 마다 다른 파일시스템을 일관된 방법으로 접근 가능하도록 만든 자바 클래스. 파일에 대한 정보 및 처리를 담당한다. 내용접근 및 파일 생성은 불가능하다. 생성 File file = new File( 파일명); File file = new File( File 객체 , 파일명 ); File file = new File( 디렉토리명 , 파일명 );

File 클래스 예제

File 클래스 파일 쓰기 예제

File 클래스 파일 읽기 예제

파일 읽기/쓰기 예제 * 파일 읽기 * 파일 쓰기 File 클래스 write.txt FileReader BufferedReader ( readLine() ) write.txt FileWriter PrintWriter ( println() )

정의 등장배경 특징 동작방식 객체 직렬화 실행시 동적으로 할당되는 인스턴스 상태를 저장하거나 네트워크로 전송하는 기술. 파일이나 데이터베이스에 저장하지 않는한 동적으로 할당된 객체의 상태값은 보존이 안된다. 특징 객체의 상태를 지속시키는 방법론을 제공한다. 스트림을 통한 확장성을 제공한다. ( 파일, 네트워크 ) 분산환경에서 매우 중요한 개념이다. 동작방식 객체 상태가 byteStream으로 처리된다.

작성방법 객체 직렬화 java.io.Serializable 인터페이스를 구현한다. ( marker ) 인터페이스를 구현한 클래스의 모든 멤버변수가 직렬화 대상이 된다. 직렬화 작업에서 제외시킬 경우에는 transient 키워드 이용한다. 스트림을 이용하여 직렬화 또는 역직렬화 작업을 한다. ObjectOutputStream의 writeObject() 메소드 이용. ObjectinputStream의 readObject() 메소드 이용.

객체 직렬화 예제

객체 직렬화 예제

객체 직렬화 transient 예제

요약 정리 입출력 스트림 node 와 filter 스트림 File 클래스 객체직렬화