컴퓨터프로그래밍/JAVA

JAVA - ObjectInputStream/ObjectOutputStream클래스

zelkova 2013. 10. 12. 12:54

 <목차로 돌아가기>


ObjectInputStream/ObjectOutputStream클래스는 데이터를 객체 단위로 일고 쓰는 클래스이다.


ObjectInputStream클래스

java.io.ObjectInputStream클래스의 생성자

ObjectInputStream(InputStream in)

지정된 InputStream에 대한 ObjectInputStream 객체를 생성한다.



java.io.ObjectInputStream클래스의 메소드

int 

available()

입력 스트림에서 읽을 수 있는 바이트 수를 반환한다.


void

close()

입력 스트림을 닫는다.


int 

read()

입력 스트림에서 1바이트 데이터를 읽는다.


int

read(byte[] buf, int off, int len)

입력 스트림에서 Object를 읽는다.


ObjectOutputStream클래스

ObjectOutputStream 클래스는 데이터를 객체 단위로 쓰기 위한 클래스이다.


java.io.ObjectOutputStream클래스의 생성자

ObjectOutputStream(OutputStream in)

지정된 OutputStream에 대한 ObjectOutputStream 객체를 생성한다.


java.io.ObjectOutputStream 클래스의 메소드


void

flush()

버퍼링되어 아직 기록되지 않은 데이터를 출력 스트림에 모두 기록한다.


void

close()

입력 스트림을 닫는다.


void

write(byte[] b)

b.length 바이트의 데이터를 출력 스트림에 기록한다.


void

write(bytep] b, int off, int len)

지정된 바이트 배열의 off위치부터 len 개까지의 데이터를 출력 스틺에 기록한다.


void

write(int b)

지정된 바이트를 출력 스트림에 기록한다.


void

writeObject(Object obj)

입력 스트림에서 Object를 기록한다.


예제)

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.ObjectInputStream;

import java.io.ObjectOutputStream;


public class Test {

public static void main(String[] args) throws Exception{

ObjectOutputStream os=

new ObjectOutputStream(new FileOutputStream("string.ser"));


String inStr = new String("forcert");


os.writeObject(instr);

os.close()


ObjectInputString is=new ObjectInputStream(new FileInputStream("String.ser"));

Object obj = is.readObject();

is.close();


String outstr = (String) obj;


System.out.println(outstr);

}

}




반응형