| sitelink1 | |
|---|---|
| sitelink2 | |
| sitelink3 | |
| sitelink4 | |
| sitelink5 | |
| sitelink6 | 
41. I/O

1) Input/Output 스트림 클래스
InputStream ─┌ FileInputStream
├ PipedInputStream ┌ LineNumberInputStream
├ FilterInputStream ─────├ DataInputStream
├ ByteArrayInputStream ├ BufferedInputStream
├ SequenceInputStream └ PushbackInputStream
├ StringBufferInputStream
└ ObjectInputStream
        
OutputStream ─┌ FileOutputStream
├ PipedOutputStream ┌ DataOutputStream
├ FilterOutputStream ────├ BufferedOutputStream
├ ByteArrayOutputStream └ PushbackOutputStream
└ ObjectOutputStream
2) Reader/Writer 클래스
Reader ─┌ BufferedReader ─ LineNumberReader
├ CharArrayReader
├ InputStreamReader ─ FileReader
├ filterReader ─ PushbackReader
├ PipedReader
└ StringReader
Writer ─┌ BufferedWriter
├ CharArrayWriter
├ OutputStreamWriter ─ FileWriter
├ FilterWriter
├ PipedWriter
├ StringWriter
└ PrintWriter
3) File, RandomAccessFile클래스
File클래스는 파일과 관련된 정보를 나타내는데 주로 사용되고, RandomAccessFile클래스는 실제 파일에 데이터를 읽고 쓰는데 주로
사용된다.
RandomAccessFile클래스의 모드는 "r"이나 "rw"이다.
4) nodestream 과 filterstream
nodestream은 텍스트파일과 같은 1차적인 stream데이터를 처리하는 클래스이다.
filterstream은 이렇게 생성된 nodestream의 객체를 보다 고급스럽게 처리할 수 있는 클래스이다.
   
5) 자바에서의 한글 I/O
InputStream, OutputStream은 일반적으로 byte단위의 I/O를 한다. 그러나 한글같은 경우 byte 단위로 I/O하게되면 글자 자체가 깨질 위험이 있다. 다 아시겠지만 한글은 2 byte이다. 따라서 Java에서는 문자나 문자열을 다룰 때 16bit-Unicode방식을 제공한다. I/O할 때 이렇게 16bit-Unicode를 사용하는 I/O class들을 readers, wirters라고 부른다.
6) I/O클래스의 사용예
- InputStream/OutputStream
=> DataInputStream dis = new DataInputStream(new FileInputStream("sample.txt"));
=> String path = "C:oracleadminjx239pfileinit.ora";
BufferedReader br = new BufferedReader(new FileReader(new File(path)));
         
- Reader/Writer
=> BufferedReader br = new BufferedReader(new FileReader("sample.txt"));
- RandomAccessFile
=> RandomAccessFile raf = new RandomAccessFile("sample.txt","rw"));
- FileOutputStream(string, boolean)생성자에서 string은 file name을 나타내고, boolean이 true이면 데이터가 파일의 맨마지막에 기록된다.
오늘의 예제 :: [12]
42. I/O 와 java.net
오늘의 예제 :: [13]"
			
1) Input/Output 스트림 클래스
InputStream ─┌ FileInputStream
├ PipedInputStream ┌ LineNumberInputStream
├ FilterInputStream ─────├ DataInputStream
├ ByteArrayInputStream ├ BufferedInputStream
├ SequenceInputStream └ PushbackInputStream
├ StringBufferInputStream
└ ObjectInputStream
OutputStream ─┌ FileOutputStream
├ PipedOutputStream ┌ DataOutputStream
├ FilterOutputStream ────├ BufferedOutputStream
├ ByteArrayOutputStream └ PushbackOutputStream
└ ObjectOutputStream
2) Reader/Writer 클래스
Reader ─┌ BufferedReader ─ LineNumberReader
├ CharArrayReader
├ InputStreamReader ─ FileReader
├ filterReader ─ PushbackReader
├ PipedReader
└ StringReader
Writer ─┌ BufferedWriter
├ CharArrayWriter
├ OutputStreamWriter ─ FileWriter
├ FilterWriter
├ PipedWriter
├ StringWriter
└ PrintWriter
3) File, RandomAccessFile클래스
File클래스는 파일과 관련된 정보를 나타내는데 주로 사용되고, RandomAccessFile클래스는 실제 파일에 데이터를 읽고 쓰는데 주로
사용된다.
RandomAccessFile클래스의 모드는 "r"이나 "rw"이다.
4) nodestream 과 filterstream
nodestream은 텍스트파일과 같은 1차적인 stream데이터를 처리하는 클래스이다.
filterstream은 이렇게 생성된 nodestream의 객체를 보다 고급스럽게 처리할 수 있는 클래스이다.
5) 자바에서의 한글 I/O
InputStream, OutputStream은 일반적으로 byte단위의 I/O를 한다. 그러나 한글같은 경우 byte 단위로 I/O하게되면 글자 자체가 깨질 위험이 있다. 다 아시겠지만 한글은 2 byte이다. 따라서 Java에서는 문자나 문자열을 다룰 때 16bit-Unicode방식을 제공한다. I/O할 때 이렇게 16bit-Unicode를 사용하는 I/O class들을 readers, wirters라고 부른다.
6) I/O클래스의 사용예
- InputStream/OutputStream
=> DataInputStream dis = new DataInputStream(new FileInputStream("sample.txt"));
=> String path = "C:oracleadminjx239pfileinit.ora";
BufferedReader br = new BufferedReader(new FileReader(new File(path)));
- Reader/Writer
=> BufferedReader br = new BufferedReader(new FileReader("sample.txt"));
- RandomAccessFile
=> RandomAccessFile raf = new RandomAccessFile("sample.txt","rw"));
- FileOutputStream(string, boolean)생성자에서 string은 file name을 나타내고, boolean이 true이면 데이터가 파일의 맨마지막에 기록된다.
오늘의 예제 :: [12]
42. I/O 와 java.net
오늘의 예제 :: [13]"
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 | 
|---|---|---|---|---|
| 46 | 서버페이지의 처리시 charset 설정 | 황제낙엽 | 2004.05.27 | 721 | 
| 45 | 서버페이지 호출시 파라미터의 한글처리 | 황제낙엽 | 2004.05.27 | 529 | 
| 44 | forward & sendRedirect | 황제낙엽 | 2004.03.09 | 772 | 
| 43 | JDF(Java Development Framework) 관련 | 황제낙엽 | 2004.02.11 | 617 | 
| 42 | JDBC Date 포맷 변환 | 황제낙엽 | 2003.11.08 | 1220 | 
| 41 | Connection 리소스 관리시 주의해야 할 점 | 황제낙엽 | 2003.09.06 | 717 | 
| 40 | XSLTFilter ... (퍼옴) | 황제낙엽 | 2003.07.21 | 776 | 
| 39 | (초보탈출 II) 내부클래스 | 황제낙엽 | 2003.05.20 | 632 | 
| 38 | (초보탈출 I) 패키지 | 황제낙엽 | 2003.05.20 | 664 | 
| 37 | 열네번째날 (화상 채팅 프로그램 프로젝트) | 황제낙엽 | 2003.04.21 | 1161 | 
| 36 | 열세번째날 - WEB APPLICATION | 황제낙엽 | 2003.04.15 | 1405 | 
| » | 열두번째날 - I/O | 황제낙엽 | 2003.04.15 | 542 | 
| 34 | 열하나째날 - 스레드 | 황제낙엽 | 2003.04.15 | 539 | 
| 33 | 열번째날 - 애플릿과 그래픽 | 황제낙엽 | 2003.04.15 | 809 | 
| 32 | 아홉째날 - SWING | 황제낙엽 | 2003.04.15 | 718 | 
| 31 | 여덟째날 - 예외처리 | 황제낙엽 | 2003.04.14 | 705 | 
| 30 | 일곱째날 - EVENT | 황제낙엽 | 2003.04.14 | 468 | 
| 29 | 여섯째날 - AWT | 황제낙엽 | 2003.04.14 | 814 | 
| 28 | 다섯째날 - Collection, String, StringBuffer | 황제낙엽 | 2003.04.14 | 792 | 
| 27 | 넷째날 - 추상클래스, 내부클래스, Interface, Static영역 | 황제낙엽 | 2003.04.14 | 795 | 
 
							