자바네트워크 제2주
자바 IO, 바이트스트림: 바이트단위 IO 클래스
제2장 자바 IO
•
필요성•
자바 IO에 대한 선입견•
자바 IO도 객체이다•
재사용되기 위해 설계된 자바 IO•
특수한 IO 객체•
자바 IO 란•
생성자가 중요한 자바 IO관렦 클래스•
자바 IO 프로그래밍을 잘하려면•
논의필요성
•
모든 프로그램은 입력과 출력이 있음•
자바 IO 클래스를 잘 사용하려면 자바의 상속관계를 이해 해야 한다.자바 IO에 대한 선입견
•
자바 IO는 어렵다•
자바 기본 문법을 잘 이해 하면 어렵지 않다.•
java.io 패키지 이해자바 프로그램 자바 IO
Internet
자바 IO도 객체이다.
•
자바 IO 객체가 어떤 것이 있는가•
어떻게 사용되는가•
용도가 무엇인가재사용되기 위해 설계된 자바 IO
Parent read()
FirstChild read()
SecondChild read()
ThirdChild Parent p
read()
Class 상속
테스트 클래스
FirstChild
Parent fc
Heap
Stack
Other example
NamedParent name getName()
NamedChild name getName()
Other example
getName() NamedChild
name
NamedParent name
NamedParent nc
(NamedChild)nc
특수한 IO 객체
•
public static InputStream System.in•
public static PrintStream System.out•
public static PrintStream System.err자바프로그램
System.in
System.out
System.err
java.io 란
IO 클래스의 특징
•
Stream으로 끝나는 클래스•
바이트단위 IO 클래스이다•
InputStream으로 끝나는 클래스•
바이트단위로 입력하는 클래스이다•
OutputStream으로 끝나는 클래스•
바이트단위로 출력하는 클래스이다•
Reader로 끝나는 클래스•
문자단위로 읽어들이는 클래스이다•
Writer로 끝나는 클래스•
문자단위로 출력하는 클래스이다•
File로 시작하는 클래스(File 클래스 제외)•
파일로부터 입력 출력을 하는 클래스이다IO 클래스의 특징
•
ByteArray로 시작하는 클래스•
바이트배열로 부터 입력/출력하는 클래스이다•
CharArray로 시작는 클래스•
문자배열로부터 입력/출력하는 클래스이다•
Filter로 시작하는 클래스•
상속받아서 사용하며, 사용자가 필요한 부분만 필터링한다•
Data로 시작하는 클래스•
기본자료형(int, float, double 등)을 입출력하는 데 사용한다•
Buffered로 시작하는 클래스•
입출력에 Buffer를 사용하는 클래스이다•
RandomAccessFile 클래스•
파일의 임의의 위치에서 일고 쓸 수 있는 클래스이다생성자가 중요한 자바 IO 관렦 클래스
•
클래스명을 구성하는 단어의 의미를 잘 이해해야 한다.•
클래스 생성자의 의미를 알고 사용해야 한다.•
생성자의 매개변수가 읽거나 쓰는 대상을 지정한다자바 IO 프로그래밍을 잘 하려 면
•
자바 IO API를 한번 읽어 보자.InputStreamReader
BufferredReader System.in
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
예제
•
키보드에서 한 줄 읽어서 그대로 출력논의
•
자바 IO를 이해하기 위한 상속•
각 자바 IO 클래스명의 의미제3장 바이트스트림: 바이트단위 IO 클래스
•
필요성•
File 클래스•
바이트단위 IO 클래스•
논의필요성
•
바이트단위 입출력은 자바 입출력의 기본이다.•
모든 자바 입출력 클래스는 궁극적으로 바이트단위 입출력 을 사용한다File 클래스
•
An abstract representation of file and directory pathnamesFile class methods
File class methods
File class methods
File class methods
File class methods
File class methods
File class methods
파일정보 보기
•
Eclipse에서 실행 매개변수 값 주기./bin/jnp/y2011/week2/FileInfo.class
파일 삭제하기
•
delete() method 사용디렉토리 목록 보기
•
isDirectory()•
listFiles()임시파일 생성과 삭제
•
File.createTempFile(“시작“, “끝”);•
File.createTempFile(“tmp_”, “.dat”);•
deleteOnExit() 사용바이트단위 IO 클래스
•
InputStream•
ByteArrayInputStream•
FileInputStream•
FilterInputStream• BufferedInputStream
• DataInputStream
• LineNumberInputStream
• PushbackInputStream
•
ObjectInputStream•
PipedInputStream•
SequenceInputStream•
StringBufferInputStream바이트단위 IO 클래스
•
OutputStream•
ByteArrayOutputStream•
FileOutputStream•
FilterOutputStream• BufferedOutputputStream
• DataOutputStream
• PrintStream