Presentation is loading. Please wait.

Presentation is loading. Please wait.

자바네트워크 제2주 바이트 입출력 스트림, 필터 입출력 스트림 컴퓨터시뮬레이션학과 2014년 봄학기 담당교수 : 이형원

Similar presentations


Presentation on theme: "자바네트워크 제2주 바이트 입출력 스트림, 필터 입출력 스트림 컴퓨터시뮬레이션학과 2014년 봄학기 담당교수 : 이형원"— Presentation transcript:

1 자바네트워크 제2주 바이트 입출력 스트림, 필터 입출력 스트림 컴퓨터시뮬레이션학과 2014년 봄학기 담당교수 : 이형원
E304호,

2 제1장 바이트 입출력 스트림 스트림이란 바이트 입출력 클래스 OutputStream 및 InputStream 클래스
FileOutputStream 및 FileInputStream 클 래스 DtaInputStream 및 DataOutputStream 클 래스

3 소개 대부분의 프로그램은 입력과 출력이 있어야 한다. 자바의 기본문법을 잘 이해하고 있는 것이 프로그램을 잘하는 첩경이다.
대부분의 프로그램은 입력과 출력이 있어야 한다. 자바의 기본문법을 잘 이해하고 있는 것이 프로그램을 잘하는 첩경이다. 자바 IO 클래스를 잘 사용하려면 자바 의 상속관계를 이해해야 한다.

4 자바 IO에 대한 선입견 자바IO는 콘솔, 네트워크, 파일에 대하여 입출 력을 할 수 있도록 해주는 것이다.
java.io 패키지 이해 자바 프로그램 자바 IO Internet

5 자바 IO도 객체이다. 어떤 클래스가 있는지를 모른 다면 사용할 수 없다. 자바 IO 객체가 어떤 것이 있는지를 알아본다.
어떤 클래스가 있는지를 모른 다면 사용할 수 없다. 자바 IO 객체가 어떤 것이 있는지를 알아본다. 어떻게 사용되는가를 배운다. 용도가 무엇인가를 배운다. 추가적인 자바 클래스를 어떻게 찾는지 알아본 다. 의 API 도큐먼트를 참고한 다.(Java APIs)

6 Java 홈페이지의 java.io 패키지

7 재사용되기 위해 설계된 자바 IO 객체지향 프로그램의 목적은 재사용성을 활용 하여 생산성을 향상시키는 것이다.

8 특수한 IO 객체 System.in System.out System.err
public static InputStream System.in public static PrintStream System.out public static PrintStream System.err System.in 자바프로그램 System.out System.err

9 java.io 란 자바프로그램에 서의 입력과 출력 을 말한다. 자바 IO 공부는 필요한 클래스의 사용법을 공부하 는 것이다.
바이트 스트림 클 래스와 문자 스트 림 클래스가 있다.

10 java.io.InputStream

11 java.io.OutputStream

12 IO 클래스의 특징 Stream으로 끝나는 클래스 InputStream으로 끝나는 클래스
바이트단위로 입력하는 클래스이다 OutputStream으로 끝나는 클래스 바이트단위로 출력하는 클래스이다 Reader로 끝나는 클래스 문자단위로 읽어들이는 클래스이다 Writer로 끝나는 클래스 문자단위로 출력하는 클래스이다 File로 시작하는 클래스(File 클래스 제외) 파일로부터 입력 출력을 하는 클래스이다

13 IO 클래스 이름의 의미

14 생성자가 중요한 자바 IO 관련 클래스 클래스명을 구성하는 단어의 의미를 잘 이해해야 한다.
클래스명을 구성하는 단어의 의미를 잘 이해해야 한다. 클래스 생성자의 의미를 알고 사용해 야 한다. 생성자의 매개변수가 읽거나 쓰는 대상을 지정한다

15 자바 IO 프로그래밍을 잘 하려면 자바 IO API를 꼭 한번 읽어 보자.
InputStreamReader BufferredReader System.in InputStream InputStream으로 부터 데이터를 읽는 Reader를 만든다. Reader로 부터 데이터를 읽는 버퍼를 사용하는 Reader를 만든다. BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

16 바이트 단위 IO 클래스 바이트 단위 입출력 클래스는 가장 기본 이 되는 입출력 클래스이다.
바이트 스트림 클래스는 모두 추상 클래 스인 InputStream 과 OutputStream 클래스 의 하위 클래스이다. 모든 입출력과 관련한 바이트 스트림은 InputStream 과 OutputStream 클래스의 입 력 및 출력 함수가 구현되어 있다. InputStream 과 OutputStream 클래스가 추 상 클래스이므로 이를 직접 인스턴스로 생성해서 사용할 수 는 없다.

17 바이트 스트림의 상속관계

18 바이트단위 IO 입력클래스 InputStream ByteArrayInputStream FileInputStream
FilterInputStream BufferedInputStream DataInputStream LineNumberInputStream PushbackInputStream ObjectInputStream PipedInputStream SequenceInputStream StringBufferInputStream

19 InputStream의 함수

20 InputStream의 함수 read() 함수 입력 스트림으로 부터 1 바이트를 읽어서 정수 값을 리턴한 다.
리턴한 정수 값의 하위 1 바이트가 읽어 들인 데이터 이다. 바이트 대신에 정수를 리턴하는 이유는 파일의 끝에 도착하 면 그 것을 알리기 위하여 -1을 리턴해야 하기 때문이다. 바이 트로는 -1을 표현할 수 없다. read() 함수 1 byte 바이트 스트림 4 bytes integer

21 바이트단위 IO 출력클래스 OutputStream ByteArrayOutputStream FileOutputStream
FilterOutputStream BufferedOutputputStream DataOutputStream PrintStream ObjectOutputStream PipedOutputStream

22 OutputStream의 함수

23 OutputStream의 함수 write() 함수 정수 값을 매개변수로 받아서 하위 바이트 를 출력 스트림으로 보낸다.
1 byte 바이트 스트림 4 bytes integer

24 FileInputStream 파일로부터 바이트 데이터를 입력할 수 있는 클래스 이다.
파일로부터 바이트 데이터를 입력할 수 있는 클래스 이다. 동작은 InputStream을 활용하는 것과 동일하고 단지 대상이 파일이라는 차이 밖에 없다. File 객체, FileDescriptor, 또는 파일명으로 읽어 들일 데 이터가 있는 파일을 지정할 수 있다.

25 FileOutputStream 파일로부터 데이터를 읽을 때에는 1 바이트씩 읽 지 않고 블럭단위(256 또는 512바이트)로 읽기 때 문에 Buffer를 사용하여 성능을 개선할 수 있다.

26 제2장 필터 입출력 스트림 FilterOutputStream 및 FilterInputStream 클래스
DataOutputStream 및 DataInputStream 클래스 BufferedOutputStream 및 BufferedInputStream 클래스 PrintStream 클래스 PushbackInputStream 클래스

27 FilterInputStream/FilterOutputStream
파일 FilterInputStream 프로그램 FileIntputStream int, float, double, char Byte FileOutputStream FilterOutputStream

28 BufferedInputStream/BufferedOutputStream
파일 BufferedInputStream 프로그램 FileIntputStream Buffering Byte FileOutputStream BufferedOutputStream

29 다음 주 과제 이번 주 실습내용 익혀 오기 실습하면서 어려웠던 점 질문 준비하 기 3장 읽어 오기 숙제해오기


Download ppt "자바네트워크 제2주 바이트 입출력 스트림, 필터 입출력 스트림 컴퓨터시뮬레이션학과 2014년 봄학기 담당교수 : 이형원"

Similar presentations


Ads by Google