软件包 java.io_Externalizable

package com.io;

import java.io.ByteArrayOutputStream;
import java.io.Externalizable;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectInputStream;
import java.io.ObjectOutput;
import java.io.ObjectOutputStream;
import java.io.Serializable;
  
public class ExternalizableDemo {   
    public static void main(String args[]) {   
        testObjectSeri();   
        testObjectInSeri();   
  
    }   
  
    /**  
     * 对象序列化测试  
     */   
    public static void testObjectSeri() {   
        Person person = new Person("test中文", "12", "abc");   
        FileOutputStream fos = null;   
        ObjectOutputStream oos = null;   
        try {   
            fos = new FileOutputStream("D:\\Temp\\person.dat");   
            oos = new ObjectOutputStream(fos);   
            oos.writeObject(person);   
        } catch (FileNotFoundException e) {   
            System.out.println("找不到指定的文件!");   
            e.printStackTrace();   
        } catch (IOException e) {   
            e.printStackTrace();   
        } finally {   
            try {   
                oos.flush();   
                oos.close();   
            } catch (IOException e) {   
                e.printStackTrace();   
            }   
        }   
    }   
  
    /**  
     * 对象反序列化测试  
     */   
    public static void testObjectInSeri() {   
        FileInputStream fis = null;   
        ObjectInputStream ois = null;   
        Person person = null;   
        try {   
            fis = new FileInputStream("D:\\Temp\\person.dat");   
            ois = new ObjectInputStream(fis);   
            person = (Person) ois.readObject();
            
        } catch (FileNotFoundException e) {   
            e.printStackTrace();   
        } catch (IOException e) {   
            e.printStackTrace();   
        } catch (ClassNotFoundException e) {   
            e.printStackTrace();   
        } finally {   
            try {   
                ois.close();   
            } catch (IOException e) {   
                e.printStackTrace();   
            }   
        }   
  
        System.out.println(person.toString());   
    }   
}   
  
/**  
* 测试序列化所用的类  
*/   
class Person implements Serializable {   
    /**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private String username;   
    private String cardNumber;   
    private transient String password;   
  
    public Person(String username, String cardNumber, String password) {   
        this.username = username;   
        this.cardNumber = cardNumber;   
        this.password = password;   
    }   
  
    public String getUsername() {   
        return username;   
    }   
  
    public void setUsername(String username) {   
        this.username = username;   
    }   
  
    public String getCardNumber() {   
        return cardNumber;   
    }   
  
    public void setCardNumber(String cardNumber) {   
        this.cardNumber = cardNumber;   
    }   
  
    public String getPassword() {   
        return password;   
    }   
  
    public void setPassword(String password) {   
        this.password = password;   
    }   
  
    public String toString() {   
        StringBuffer sb = new StringBuffer(this.getClass().getName());   
        sb.append("[");   
        sb.append("\n\t");   
        sb.append("username=" + this.username);   
        sb.append("\n\t");   
        sb.append("cardNumber=" + this.cardNumber);   
        sb.append("\n\t");   
        sb.append("password=" + this.password);   
        sb.append("]");   
        return sb.toString();   
    }
    
    
//    class Person implements Externalizable {   
//        /**
//    	 * 
//    	 */
//    	private static final long serialVersionUID = 1L;
//    	private String username;   
//        private String cardNumber;   
//        private  String password;   
//      
//        public Person(String username, String cardNumber, String password) {   
//            this.username = username;   
//            this.cardNumber = cardNumber;   
//            this.password = password;   
//        }   
//      
//        public String getUsername() {   
//            return username;   
//        }   
//      
//        public void setUsername(String username) {   
//            this.username = username;   
//        }   
//      
//        public String getCardNumber() {   
//            return cardNumber;   
//        }   
//      
//        public void setCardNumber(String cardNumber) {   
//            this.cardNumber = cardNumber;   
//        }   
//      
//        public String getPassword() {   
//            return password;   
//        }   
//      
//        public void setPassword(String password) {   
//            this.password = password;   
//        }   
//      
//        public String toString() {   
//            StringBuffer sb = new StringBuffer(this.getClass().getName());   
//            sb.append("[");   
//            sb.append("\n\t");   
//            sb.append("username=" + this.username);   
//            sb.append("\n\t");   
//            sb.append("cardNumber=" + this.cardNumber);   
//            sb.append("\n\t");   
//            sb.append("password=" + this.password);   
//            sb.append("]");   
//            return sb.toString();   
//        }
//
//		@Override
//		public void writeExternal(ObjectOutput out) throws IOException {
//		  
//		}
//
//		@Override
//		public void readExternal(ObjectInput in) throws IOException,
//				ClassNotFoundException {
//			
//		}
}  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值