• 검색 결과가 없습니다.

자바네트워크 제2주

N/A
N/A
Protected

Academic year: 2022

Share "자바네트워크 제2주"

Copied!
46
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

자바네트워크 제2주

자바 IO, 바이트스트림: 바이트단위 IO 클래스

(2)

제2장 자바 IO

필요성

자바 IO에 대한 선입견

자바 IO도 객체이다

재사용되기 위해 설계된 자바 IO

특수한 IO 객체

자바 IO 란

생성자가 중요한 자바 IO관렦 클래스

자바 IO 프로그래밍을 잘하려면

논의

(3)

필요성

모든 프로그램은 입력과 출력이 있음

자바 IO 클래스를 잘 사용하려면 자바의 상속관계를 이해 해야 한다.

(4)

자바 IO에 대한 선입견

자바 IO는 어렵다

자바 기본 문법을 잘 이해 하면 어렵지 않다.

java.io 패키지 이해

자바 프로그램 자바 IO

Internet

(5)

자바 IO도 객체이다.

자바 IO 객체가 어떤 것이 있는가

어떻게 사용되는가

용도가 무엇인가

(6)

재사용되기 위해 설계된 자바 IO

Parent read()

FirstChild read()

SecondChild read()

ThirdChild Parent p

read()

(7)

Class 상속

(8)

테스트 클래스

FirstChild

Parent fc

Heap

Stack

(9)

Other example

NamedParent name getName()

NamedChild name getName()

(10)

Other example

getName() NamedChild

name

NamedParent name

NamedParent nc

(NamedChild)nc

(11)

특수한 IO 객체

public static InputStream System.in

public static PrintStream System.out

public static PrintStream System.err

자바프로그램

System.in

System.out

System.err

(12)

java.io 란

(13)

IO 클래스의 특징

Stream으로 끝나는 클래스

바이트단위 IO 클래스이다

InputStream으로 끝나는 클래스

바이트단위로 입력하는 클래스이다

OutputStream으로 끝나는 클래스

바이트단위로 출력하는 클래스이다

Reader로 끝나는 클래스

문자단위로 읽어들이는 클래스이다

Writer로 끝나는 클래스

문자단위로 출력하는 클래스이다

File로 시작하는 클래스(File 클래스 제외)

파일로부터 입력 출력을 하는 클래스이다

(14)

IO 클래스의 특징

ByteArray로 시작하는 클래스

바이트배열로 부터 입력/출력하는 클래스이다

CharArray로 시작는 클래스

문자배열로부터 입력/출력하는 클래스이다

Filter로 시작하는 클래스

상속받아서 사용하며, 사용자가 필요한 부분만 필터링한다

Data로 시작하는 클래스

기본자료형(int, float, double 등)을 입출력하는 데 사용한다

Buffered로 시작하는 클래스

입출력에 Buffer를 사용하는 클래스이다

RandomAccessFile 클래스

파일의 임의의 위치에서 일고 쓸 수 있는 클래스이다

(15)

생성자가 중요한 자바 IO 관렦 클래스

클래스명을 구성하는 단어의 의미를 잘 이해해야 한다.

클래스 생성자의 의미를 알고 사용해야 한다.

생성자의 매개변수가 읽거나 쓰는 대상을 지정한다

(16)

자바 IO 프로그래밍을 잘 하려 면

자바 IO API를 한번 읽어 보자.

InputStreamReader

BufferredReader System.in

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

(17)

예제

키보드에서 한 줄 읽어서 그대로 출력

(18)

논의

자바 IO를 이해하기 위한 상속

각 자바 IO 클래스명의 의미

(19)

제3장 바이트스트림: 바이트단위 IO 클래스

필요성

File 클래스

바이트단위 IO 클래스

논의

(20)

필요성

바이트단위 입출력은 자바 입출력의 기본이다.

모든 자바 입출력 클래스는 궁극적으로 바이트단위 입출력 을 사용한다

(21)

File 클래스

An abstract representation of file and directory pathnames

(22)

File class methods

(23)

File class methods

(24)

File class methods

(25)

File class methods

(26)

File class methods

(27)

File class methods

(28)

File class methods

(29)

파일정보 보기

Eclipse에서 실행 매개변수 값 주기

./bin/jnp/y2011/week2/FileInfo.class

(30)

파일 삭제하기

delete() method 사용

(31)

디렉토리 목록 보기

isDirectory()

listFiles()

(32)

임시파일 생성과 삭제

File.createTempFile(“시작“, “끝”);

File.createTempFile(“tmp_”, “.dat”);

deleteOnExit() 사용

(33)

바이트단위 IO 클래스

InputStream

ByteArrayInputStream

FileInputStream

FilterInputStream

• BufferedInputStream

• DataInputStream

• LineNumberInputStream

• PushbackInputStream

ObjectInputStream

PipedInputStream

SequenceInputStream

StringBufferInputStream

(34)

바이트단위 IO 클래스

OutputStream

ByteArrayOutputStream

FileOutputStream

FilterOutputStream

• BufferedOutputputStream

• DataOutputStream

• PrintStream

ObjectOutputStream

PipedOutputStream

(35)

IO Stream을 사용한 입출력

한 바이트씩 읽어서 처리한다.

더 읽을 바이트가 없으면 종료 한다.(^Z)

(36)

InputStream(abstract class)

(37)

OutputStream(abstract class)

(38)

FileInputStream

(39)

FileOutputStream

Buffer를 사용하여 성능개선

(40)

DataInputStream

InputStream

DataInputStream

Byte Stream

Data

int, float, double

(41)

DataOutputStream

(42)

ByteArrayOutputStream

ByteArrayOutputStream

ArrayBuffer

(43)

ByteArrayInputStream

(44)

PipedInputStream

(45)

PipedOutputStream

Thread1 Thread2

PipedInputStream PipedOutputStream

System.in

System.out

(46)

논의

자바IO 클래스는 조합을 이루어 사용한다

Stream 클래스가 기본이다.

필요한 경우에 맞게 조합하여 사용해야 한다.

참조

관련 문서

Output pin은 CBaseOutputPin 클래스를 상속받으며, 소스 필터를 통하여 들어온 데이터를 demultiplexing하여 down stream 필터로 push 모드로 전달한다..

❖ 모든 예외 클래스는 Exception의 하위 클래스이므로 Exception 유형 의 참조변수 catch 블록은 모든 종류의 예외를 처리할 수 있으므로 반드 시 catch

앞서 언급하였듯 이, 서블릿은 포괄적(generic) 서버 확장(서버의 기능을 확장하기 위해서 동적으로 적 재될 수 있는 자바 클래스 )이다. 서블릿은 일반적으로 웹

모든 명사는남성형과 여성형, 단수형과 복수형을 구분하여 사용한다...

Observation 클래스의 하 위 클래스로 TimeInterval 클래스는 데이터 속성인 hasIntervalDate를 이용하여 센서의 측정 시간을 정의 하였고, 그림 2에서와

class 이름을 FirstApp라고 입력하고 [파일]-[저장] 메뉴 를 선택하여 클래스 이름과 동일하게 파일이름을 입력합 니다.. <따라하기> EDIT PLUS에서 자바

 package 접근 수정자는 기본 접근 수정자로서 해당 클래스, 메소드 나 변수가 같은 패키지 내의 모든 클래스에서 접근 가능하다는 것 을

공간의존성의 존재는 Tobler의 지리학 제1법칙( “모든 것은 다른 모든 것과 관련되어 있 다. 이러한 공간의존성은 자료의 공간적 자기상관 을 의미하게 되고, 공간 데이터에 포함된 정보의