개인참고자료/자바(네트워크)
객체 스트림 - ObjectOutputStream와 ObjectInputStream
경진
2008. 7. 17. 08:47
ObjectOutputStream 클래스의 생성자와 메소드
ObjectOutputStream 클래스는 객체를 직렬화하기 위해서 사용된다.
ObjectOutputStream 클래스는 다음과 같이 선언되어 있다.
ObjectOutputStream 클래스에 있는 생성자는 두 가지인데, 보통 OutputStream을 인자로 전달받는 생성자가 사용된다.
ObjectOutputStream의 생성자는 인자로 OutputStream을 인자로 전달받는다는 것은 OutputStream을 상받은 어떤 객체든지 모두 받아들일 수 있음을 의미한다. 즉, FileOutputStream이 인자로 지정될 경우에는 파일에, 네트워크에 출력할 수 있는 OutputStream을 인자로 지정할 경우에는 네트워크에 전송하게 된다.
ObjectOutputStream의 중요 메소드
ObjectInputStream 클래스의 생성자와 메소드
ObjectInputStream 클래스는 전송받은 데이터를 역직렬화 할 경우에 사용된다. ObjectInputStream은 다음과 같이 선언되어 있다.
ObjectInputStream 클래스에 있는 생성자는 두 가지인데, 보통 InputStream을 인자로 전달하는 생성자를 사용한다.
ObjectInputStream의 생성자가 인자로 InputStream을 받아들인다는 것은 InputStream을 상속 받은 어떤 객체든지 받아들일 수 있음을 의미한다.
ObjectInputSTream의 중요메소드
ObjectOutputStream 클래스는 객체를 직렬화하기 위해서 사용된다.
ObjectOutputStream 클래스는 다음과 같이 선언되어 있다.
public class ObjectOutputStream extends OutputStream implements ObjectOutput, ObjectStreamConstants
ObjectOutputStream 클래스에 있는 생성자는 두 가지인데, 보통 OutputStream을 인자로 전달받는 생성자가 사용된다.
public ObjectOutputStream(OutputStream out) throws IOException
ObjectOutputStream의 생성자는 인자로 OutputStream을 인자로 전달받는다는 것은 OutputStream을 상받은 어떤 객체든지 모두 받아들일 수 있음을 의미한다. 즉, FileOutputStream이 인자로 지정될 경우에는 파일에, 네트워크에 출력할 수 있는 OutputStream을 인자로 지정할 경우에는 네트워크에 전송하게 된다.
ObjectOutputStream의 중요 메소드
메소드 | 설명 |
---|---|
public final void writeObject(Object obj) throws IOException | ObjectOutputStream에 있는 가장 중요한 메소드다. 인자로 지정된 객체를 직렬화해서 전송한다. |
public void reset() throws IOException | 스트림을 방금전에 생성된 것처럼 초기 상태로 만든다. 네트워크 프로그래밍에서 사용할 때에는 writeObject() 메소드를 호출한 후 반드시 호출해 줘야 한다. |
public void flush() throws IOException | 전송해야 할 데이터를 버퍼링함으로써 OBjectInputStream에서 읽어 들이지 못하는 경우가 발생할 수 있다. 이런 문제를 해결하기 위해서 네트워크 프로그래밍에서 사용할 때에는 wirteObject() 메소드를 호출한 후 flush() 메소드를 바로 호출해줘야 한다. |
ObjectInputStream 클래스의 생성자와 메소드
ObjectInputStream 클래스는 전송받은 데이터를 역직렬화 할 경우에 사용된다. ObjectInputStream은 다음과 같이 선언되어 있다.
public class ObjectInputStream extends InputStream implements ObjectInput, ObjectStreamConstants
ObjectInputStream 클래스에 있는 생성자는 두 가지인데, 보통 InputStream을 인자로 전달하는 생성자를 사용한다.
public ObjectInputStream(InputStream in) throws IOException
ObjectInputStream의 생성자가 인자로 InputStream을 받아들인다는 것은 InputStream을 상속 받은 어떤 객체든지 받아들일 수 있음을 의미한다.
ObjectInputSTream의 중요메소드
메소드 | 설명 |
---|---|
public final Object readObject() throws IOException | ObjectInputStream에 있는 가장중요한 메소드다. 데이타를 읽어 들여 역직렬화한다. |