| sitelink1 | |
|---|---|
| sitelink2 | |
| sitelink3 | |
| sitelink4 | |
| sitelink5 | |
| sitelink6 | 
http://www.ezslookingaround.com/blog/tech/?no=531
OutputStream / InputStream : 이들은 추상 클래스로서 바이트 스트림의 입출력을 위한...
: 사실 이게 더 이해하기 쉬울것이다.. 왜냐? InputStream / OutputStream 앞에 prefix를 붙이는것에 따라 구분되므로
더 간단한 형태이지... 편리하기는 Reader / Writer 가 어떤면에선 더 편할 수도 있다.
아무튼 OutputStream 등은.. 스트림바이트의 출력.. Binary data.. byte 단위의 이진데이터이다... (눈으로 확인못한다; )
아웃풋 인풋 의 의미는 아웃풋 류의 클래스는 모두 출력개념(파일출력..등..) 이고 인풋은.. 파일에서부터 입력받은.. 개념이다.
1. FileOutputStream / FileInputStream
: 파일에 바이트 스트림을 출력하고, 바이트 스트림 파일을 읽는 기능
파일로 아웃풋 하겠다... 파일에서 인풋하겠다..
참고로.. 이녀석들은 스트림단위라소 눈에 보이지 않는 문자다;;
지정한 화일명으로 ByteStreamFile을 생성하였습니다.
[yakmo@fedora java]$ 
2. DataOutputStream / DataInputStream (자바기본 데이터를 스트림으로 아웃풋하겠다! / 스트림을 입력받아 자바기본데이터형으로읽겠다)
: 자바의 기본 자료형 데이터를 바이트 스트림으로 출력하는 기능을 제공 ( character --> bin )
즉, 자바기본 데이터를 인풋 받아 스트림으로 아웃풋한다는 의미 (데이터를 스트림으로 아웃풋 하겠다!)
/ Input.. 은 반대로 스트림을 읽어서 자바의 기본자료형으로 입력받는 기능..( bin --> character )
이렇게하면 다양한 데이터 형태가 가능해진다!!!
3. BufferedOutputStream / BufferedInputStream
BufferedOutputStream(OutputStream outputStream [,int bufSize])
버퍼를 사용하여 스트림을 출력 한다.
BufferedInputStream(InputStream inputstream [,int bufSize])
버퍼를 사용하여 스트림을 입력한다.
*/
			
OutputStream / InputStream : 이들은 추상 클래스로서 바이트 스트림의 입출력을 위한...
                                           |--- FileInputStream       |-- BufferedInputStream
|---- InputStream ---|--- FilterInputStream ---|
| |--- ObjectInputStream |-- DataInputStream
|
Object --
|
| |--- FileOutputStream |-- BufferedOutputStream
|---- OutputStream---|--- FilterOutputStream---|-- DataOutputStream
|--- ObjectOutputStream |-- PrintStream
|---- InputStream ---|--- FilterInputStream ---|
| |--- ObjectInputStream |-- DataInputStream
|
Object --
|
| |--- FileOutputStream |-- BufferedOutputStream
|---- OutputStream---|--- FilterOutputStream---|-- DataOutputStream
|--- ObjectOutputStream |-- PrintStream
: 사실 이게 더 이해하기 쉬울것이다.. 왜냐? InputStream / OutputStream 앞에 prefix를 붙이는것에 따라 구분되므로
더 간단한 형태이지... 편리하기는 Reader / Writer 가 어떤면에선 더 편할 수도 있다.
아무튼 OutputStream 등은.. 스트림바이트의 출력.. Binary data.. byte 단위의 이진데이터이다... (눈으로 확인못한다; )
아웃풋 인풋 의 의미는 아웃풋 류의 클래스는 모두 출력개념(파일출력..등..) 이고 인풋은.. 파일에서부터 입력받은.. 개념이다.
1. FileOutputStream / FileInputStream
: 파일에 바이트 스트림을 출력하고, 바이트 스트림 파일을 읽는 기능
파일로 아웃풋 하겠다... 파일에서 인풋하겠다..
참고로.. 이녀석들은 스트림단위라소 눈에 보이지 않는 문자다;;
[yakmo@fedora java]$ java FileOutputStreamDemo 1111
0
1
2
3
4
0
1
2
3
4
지정한 화일명으로 ByteStreamFile을 생성하였습니다.
[yakmo@fedora java]$ cat 1111
[yakmo@fedora java]$ java FileInputStreamDemo 1111
01234지정한 파일로부터 바이트 스트림을 입력받아 화면에 출력하였습니다.
[yakmo@fedora java]$
[yakmo@fedora java]$ cat FileOutputStreamDemo.java
[yakmo@fedora java]$ java FileInputStreamDemo 1111
01234지정한 파일로부터 바이트 스트림을 입력받아 화면에 출력하였습니다.
[yakmo@fedora java]$
[yakmo@fedora java]$ cat FileOutputStreamDemo.java
·미리보기 | 소스복사·
- import java.io.*;
- class FileOutputStreamDemo {
- public static void main(String args[]) throws IOException {
- FileOutputStream fos = new FileOutputStream(args[0]);
- for(int i=0;i<5;i++) {
- fos.write(i); // write 는 byte or int ...
- System.out.println(i);
- }
- fos.close();
- System.out.println("지정한 화일명으로 ByteStreamFile을 생성하였습니다.");
- }
- }
[yakmo@fedora java]$ cat FileInputStreamDemo.java
·미리보기 | 소스복사·
- import java.io.*;
- class FileInputStreamDemo {
- public static void main(String args[]) throws IOException {
- FileInputStream fis = new FileInputStream(args[0]);
- int i;
- while( (i=fis.read() ) != -1) {
- System.out.print(i);
- }
- System.out.println("지정한 파일로부터 바이트 스트림을 입력받아 화면에 출력하였습니다.");
- fis.close();
- }
- }
2. DataOutputStream / DataInputStream (자바기본 데이터를 스트림으로 아웃풋하겠다! / 스트림을 입력받아 자바기본데이터형으로읽겠다)
: 자바의 기본 자료형 데이터를 바이트 스트림으로 출력하는 기능을 제공 ( character --> bin )
즉, 자바기본 데이터를 인풋 받아 스트림으로 아웃풋한다는 의미 (데이터를 스트림으로 아웃풋 하겠다!)
/ Input.. 은 반대로 스트림을 읽어서 자바의 기본자료형으로 입력받는 기능..( bin --> character )
이렇게하면 다양한 데이터 형태가 가능해진다!!!
[yakmo@fedora java]$ java DataOutputStreamDemo
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at DataOutputStreamDemo.main(DataOutputStreamDemo.java:5)
[yakmo@fedora java]$ java DataOutputStreamDemo dos
[yakmo@fedora java]$ java DataInputStreamDemo dos
false
127
김
1.7976931348623157E308
[yakmo@fedora java]$
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at DataOutputStreamDemo.main(DataOutputStreamDemo.java:5)
[yakmo@fedora java]$ java DataOutputStreamDemo dos
[yakmo@fedora java]$ java DataInputStreamDemo dos
false
127
김
1.7976931348623157E308
[yakmo@fedora java]$
·미리보기 | 소스복사·
- import java.io.*;
- class DataOutputStreamDemo {
- public static void main(String args[]) throws IOException {
- FileOutputStream fos = new FileOutputStream(args[0]); // 우선 bin 으로 파일을쓸 클래스 객체생성
- DataOutputStream dos = new DataOutputStream(fos); // 위의 객체에 자바의일반데이터를 바이너리형태로 고쳐서 넣을 dos 생성, 물론 fos.write(xx) 도 가능함.
- // 하지만 자바 기본데이터형으로 많은 종유의 지원이 가능하다.. write 는 byte or int 뿐이다.
- dos.writeBoolean(false);
- dos.writeByte(Byte.MAX_VALUE);
- dos.writeChar('김');
- dos.writeDouble(Double.MAX_VALUE);
- fos.close();
- }
- }
·미리보기 | 소스복사·
- import java.io.*;
- class DataInputStreamDemo {
- public static void main(String args[]) throws IOException {
- FileInputStream fis = new FileInputStream(args[0]); // bin 파일을 읽어들일 준비..
- DataInputStream dis = new DataInputStream(fis); // bin을 읽어서 자바 데이터형태로 받을 dis 생성.. 물론 여기서도
- // 바로 fis.read 할 수 있긴하지만 데이터형이...;
- System.out.println(dis.readBoolean());
- System.out.println(dis.readByte());
- System.out.println(dis.readChar());
- System.out.println(dis.readDouble());
- fis.close();
- }
- }
3. BufferedOutputStream / BufferedInputStream
BufferedOutputStream(OutputStream outputStream [,int bufSize])
버퍼를 사용하여 스트림을 출력 한다.
BufferedInputStream(InputStream inputstream [,int bufSize])
버퍼를 사용하여 스트림을 입력한다.
*/
[yakmo@fedora java]$ java BufferedOutputStreamDemo bos
버퍼를 사용하여 파일을 생성
[yakmo@fedora java]$ cat bos
[yakmo@fedora java]$ file bos
bos: raw G3 data, byte-padded
[yakmo@fedora java]$
[yakmo@fedora java]$ java BufferedInputStreamDemo bos
0
1
2
3
4
버퍼를 사용하여 파일로부터 입력
[yakmo@fedora java]$
버퍼를 사용하여 파일을 생성
[yakmo@fedora java]$ cat bos
[yakmo@fedora java]$ file bos
bos: raw G3 data, byte-padded
[yakmo@fedora java]$
[yakmo@fedora java]$ java BufferedInputStreamDemo bos
0
1
2
3
4
버퍼를 사용하여 파일로부터 입력
[yakmo@fedora java]$
·미리보기 | 소스복사·
- import java.io.*;
- class BufferedOutputStreamDemo {
- public static void main(String args[]) throws Exception { //IOException 해도 되고...
- FileOutputStream fos = new FileOutputStream(args[0]);
- BufferedOutputStream bos = new BufferedOutputStream(fos);
- for(int i=0;i<5;i++) {
- bos.write(i);
- }
- bos.close();
- System.out.println("버퍼를 사용하여 파일을 생성");
- }
- }
·미리보기 | 소스복사·
- import java.io.*;
- class BufferedInputStreamDemo {
- public static void main(String args[]) throws Exception {
- FileInputStream fis = new FileInputStream(args[0]);
- BufferedInputStream bis = new BufferedInputStream(fis);
- int i;
- while( (i=bis.read())!= -1 ) {
- System.out.println(i);
- }
- System.out.println("버퍼를 사용하여 파일로부터 입력");
- bis.close();
- }
- } MORE
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 | 
|---|---|---|---|---|
| 26 | 셋째날 - 패키지, 상속, 접근제어 | 황제낙엽 | 2003.04.14 | 728 | 
| 25 | 둘째날 - 클래스, 메서드, 연산자 | 황제낙엽 | 2003.04.14 | 651 | 
| 24 | 첫째날 - 자바의 특징과 DATA TYPE | 황제낙엽 | 2003.04.14 | 667 | 
| 23 | Polymorphism과 Method Overriding에 대한 이야기 | 황제낙엽 | 2003.05.15 | 502 | 
| 22 | 자바의 특징 | 황제낙엽 | 2003.05.06 | 640 | 
| 21 | JVM (Java Virtual Machine)에 대한 몇가지 설명 | 황제낙엽 | 2003.05.06 | 453 | 
| 20 | 자바설화 | 황제낙엽 | 2003.05.03 | 607 | 
| 19 | XML기반 정보 보호 기술의 대두 | 황제낙엽 | 2003.04.22 | 512 | 
| 18 | 인터넷을 통한 자바 기술의 변화 | 황제낙엽 | 2003.04.07 | 696 | 
| 17 | JAVA관련 용어와 기술 | 황제낙엽 | 2003.04.05 | 661 | 
| 16 | UTF-8을 위한 문자열 인코딩처리 관련 | 황제낙엽 | 2006.10.06 | 1081 | 
| 15 | Code Conventions for JavaTM Programing Language   | 황제낙엽 | 2006.10.23 | 702 | 
| 14 | 자바에서 UTF-8 개발에 관한 정리 (2) | 황제낙엽 | 2006.10.06 | 798 | 
| 13 | 자바에서 UTF-8 개발에 관한 정리 (1) | 황제낙엽 | 2006.10.06 | 745 | 
| 12 | 일본어 전각 반각 변환 예제 소스 .두번째
					[1]   | 황제낙엽 | 2007.01.11 | 780 | 
| 11 | 일본어 전각 반각 변환 예제 소스 .첫번째   | 황제낙엽 | 2007.01.10 | 3685 | 
| 10 | 환경파일 로드 클래스 구성 (XML파싱) | 황제낙엽 | 2007.01.05 | 781 | 
| 9 | HttpURLConnection을 사용하여 웹 페이지 액세스하기 (두번째) | 황제낙엽 | 2007.01.05 | 766 | 
| » | 자바의 I/O 예제 [1]   | 황제낙엽 | 2006.12.28 | 547 | 
| 7 | HttpURLConnection 클래스를 이용한 Search | 황제낙엽 | 2006.12.28 | 856 | 
 
							