¼Ò¼³ java.io ¼Ò½ºÄڵ堠Object½ºÆ®¸²  Externalizable  

ExternalizableÀ» ÀÌ¿ëÇØ µ¥ÀÌÅÍÀÇ ±â·ÏÀ» Á¦¾îÇÏ´Â ¿¹Á¦

ExternalObject.java (ExternalizableÀ» ±¸ÇöÇØ ¿øÇÏ´Â µ¥ÀÌÅ͸¦ ±â·ÏÇÑ Å¬·¡½º)

import java.io.*;
public class ExternalObject implements 
Externalizable {
  
private int id;    
// ºÎ¼­
  
private String name;    
// À̸§
  
private float height;    
// ½ÅÀå
  
public 
ExternalObject(){}
  
public ExternalObject(int id, String name, float 
height) {
    
this
.id = id;
    
this
.name = name;
    
this
.height = height;
  }
  
public void readExternal(ObjectInput oi) throws 
IOExceptionClassNotFoundException {
    System.out.println(
"readExternal()¸Þ¼­µå"
);
    id = oi.readInt();
    name = (String)oi.readObject();
    height = oi.readFloat();
  }
  
public void writeExternal(ObjectOutput oo) throws 
IOException {
    System.out.println(
"writeExternal()¸Þ¼­µå"
);
    oo.writeInt(id);
    oo.writeObject(name);
    oo.writeFloat(height);
  }
  
public 
String toString(){
    
return id + ":" + name + ":" 
+ height;
  }
}

ExternalObjectTest.java (°´Ã¼Á÷·ÄÈ­¸¦ ±¸ÇöÇÑ Å¬·¡½ºÀÇ °´Ã¼¸¦ »ý¼ºÇÏ´Â ½ÇÇà Ŭ·¡½º) 

import java.io.*; 
public class 
ExternalObjectTest {    
  
public static void main(String[] args) throws 
IOExceptionClassNotFoundException{
    FileOutputStream fos = 
new FileOutputStream("external.txt"
); 
    ObjectOutputStream oos = 
new 
ObjectOutputStream(fos);
    ExternalObject so1 = 
new ExternalObject(1"È«±æµ¿"170.25f
);
    ExternalObject so2 = 
new ExternalObject(2"±è»ñ°«"190.01f
);
    ExternalObject so3 = 
new ExternalObject(3"¾ÏÇà¾î"180.34f
);
    oos.writeObject(so1);
    oos.writeObject(so2);
    oos.writeObject(so3);
    oos.close();

    FileInputStream fis = 
new FileInputStream("external.txt"
);
    ObjectInputStream ois = 
new 
ObjectInputStream(fis);
    ExternalObject rso1 = (ExternalObject)ois.readObject();
    ExternalObject rso2 = (ExternalObject)ois.readObject();
    ExternalObject rso3 = (ExternalObject)ois.readObject();
    System.out.println(rso1.toString()); 
    System.out.println(rso2.toString()); 
    System.out.println(rso3.toString());
    ois.close();
  }
}

C:\javaExample\12>javac ExternalObject.java

C:\javaExample\12>javac ExternalObjectTest.java

C:\javaExample\12>java ExternalObjectTest
writeExternal()¸Þ¼­µå
writeExternal()¸Þ¼­µå
writeExternal()¸Þ¼­µå
readExternal()¸Þ¼­µå
readExternal()¸Þ¼­µå
readExternal()¸Þ¼­µå
1:È«±æµ¿:170.25
2:±è»ñ°«:190.01
3:¾ÏÇà¾î:180.34

°´Ã¼¸¦ Àü¼ÛÇϱâ À§ÇØ Externalizable¸¦ ±¸ÇöÇÏ´Â °æ¿ì¿¡´Â ÇÁ·Î±×·¥¸Ó°¡ ÀÓÀÇ´ë·Î µ¥ÀÌÅ͸¦ ±â·ÏÇÒ ¼ö ÀÖ´Ù.

µ¥ÀÌÅ͸¦ ±â·ÏÇÒ ¶§´Â writeExternal()¸Þ¼­µå¸¦ ±¸ÇöÇϰí, ÀÐ¾î ¿Ã °æ¿ì¿¡´Â readExternal()¸Þ¼­µå¸¦ ±¸ÇöÇÏ¸é µÈ´Ù. 



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°Àº¹Ì´ÏÄÚµå
ÀÛ¼ºÀÚ:Àںϸâ¹ö ÃÖ¿ë¼ú