[Java] 직렬화 파일 입출력 예문.

[[ 파일을 첨부했습니다.  ]]

SerializableTest 부분.

   public void go(){
       System.out.println(" ## test : Serializable Test ... ");
      
       DataList dl = new DataList();
      
       //1. temp data input .
       Data d1 = new Data("DB","db","data base");
       Data d2 = new Data("TV","tv","ti vi");
       Data d3 = new Data("RV","rv","rost version");
      
       dl.addData(d1);
       dl.addData(d2);
       dl.addData(d3);
      
       //2.  class Serializable
       try{
           ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream("test.ser"));
           os.writeObject(dl);
           os.close(); // 주의하세요.!!
       }catch(IOException ioe){
           ioe.printStackTrace();           
       }
      
       dl = null;
      
       //3. read [ file -> new Class ]
       DataList newDL = null;
      
       try{
           ObjectInputStream is = new ObjectInputStream(new FileInputStream("test.ser"));
           newDL = (DataList)is.readObject();
          
           //3.1 확인
           for( int i = 0 ; i < newDL.size() ; i++){
               System.out.println( "## "+ i + " : " + newDL.getData(i).getWord());
           }
       }catch(Exception ex){
           ex.printStackTrace();
       }
   

=============================================================================
DataList 부분.
private Vector<Data> DataList = null;

Data 부분
   private  String word;
   private  String read;
   private  String mean;


직렬화를 할 클래스일 경우 인터페이스 [ Serializable ]을 선언해 줘야 합니다.
[주의 : 클래스 버젼 ID는 제외했습니다. 구현시 버전관리가 필요하기에 필요함. ]