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 IOException, ClassNotFoundException {
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 IOException, ClassNotFoundException{
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ÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°Àº¹Ì´ÏÄÚµå ÀÛ¼ºÀÚ:Àںϸâ¹ö ÃÖ¿ë¼ú |