`
wandejun1012
  • 浏览: 2689951 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

序列化和反序列化

    博客分类:
  • java
 
阅读更多

 

说白了,序列化后可以将某个java类存在磁盘上或者网络上进行传播。

 

但是必须实现Serilizable接口,否则序列化时会报未实现Serilizable接口。

 

/**
 * Copyright (c) 2009-2015. 上海诺诺镑客 All rights reserved.
 * @(#) TestSerial.java 2015年12月10日 下午4:06:18
 */
package com.nonobank.testserial;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

import org.junit.Test;

/**
 * @FileName: TestSerial.java
 * @Function:TODO
 * @date: 2015年12月10日 下午4:06:18
 * @author: wandejun
 * @since JDK 1.8
 */
public class TestSerial implements Serializable {

	private static final long serialVersionUID = -2520034536920234485L;
	public byte version = 100;  
	 
    public byte count = 0;  
    
    
    @Test
    public void testSerial(){
    	try {
			FileOutputStream fos = new FileOutputStream("d:/temp/testserial.txt");  
  	 
			ObjectOutputStream oos = new ObjectOutputStream(fos);  
  
			TestSerial ts = new TestSerial();  
  
			oos.writeObject(ts);  
  
			oos.flush();  
  
			oos.close();
		} catch (Exception e) {
			e.printStackTrace();
		}  
    }
    
    
    @Test
    public void testUnSerial(){
    	try {
			FileInputStream fis = new FileInputStream("d:/temp/testserial.txt");  
			 
			ObjectInputStream oin = new ObjectInputStream(fis);  
  
			TestSerial ts = (TestSerial) oin.readObject();  
  
			System.out.println("version="+ts.version);
		} catch (Exception e) {
			e.printStackTrace();
		}  
    }
    
    
}

 

 

注意到:上面的代码需要引入junit jar包,一个方法是序列化,另一个是反序列化。

 

用ue打开testserial.txt文件,用16进制模式查看如下:

 



 

refurl:http://developer.51cto.com/art/200908/147650.htm

 

 

 

 

  • 大小: 9.3 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics