java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言, 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台 (即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se)) 的总称
这篇文章主要介绍了 java 序列化与反序列化操作, 结合实例形式分析了 java 序列化与反序列化的概念与具体实现技巧, 需要的朋友可以参考下
本文实例分析了 java 序列化与反序列化操作分享给大家供大家参考, 具体如下:
概述:
Java 序列化是指把 Java 对象转换为字节序列的过程; 而 Java 反序列化是指把字节序列恢复为 Java 对象的过程
示例代码:
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
- import java.io.Serializable;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- public class Test {
- /**
- * @param args
- */
- public static void main(String[] args) {
- try {
- ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("D:/objectFile.obj"));
- Customer customer = new Customer("中国人",23);
- out.writeObject("你好!");
- out.writeObject(new Date());
- out.writeObject(customer);
- out.writeInt(123);
- List list = new ArrayList();
- int i =0 ;
- while(i<100) {
- Customer customer2 = new Customer("中国人",i);
- list.add(customer2);
- i++;
- }
- HashMap hashMap = new HashMap();
- hashMap.put("customer", list);
- out.writeObject(hashMap);
- out.close();
- ObjectInputStream in = new ObjectInputStream(new FileInputStream("D:/objectFile.obj"));
- System.out.println("obj1=" + (String) in.readObject());
- System.out.println("obj2=" + (Date) in.readObject());
- Customer obj3 = (Customer) in.readObject();
- System.out.println("obj3=" + obj3);
- int obj4 = in.readInt();
- System.out.println("obj4=" + obj4);
- Object obj5 = in.readObject();
- System.out.println(obj5);
- HashMap hash_map = (HashMap)obj5;
- List l = (List) hash_map.get("customer");
- System.out.println("size:" + l.size());
- for(int ii=0; ii<l.size() -1 ; ii++) {
- Customer c = (Customer)l.get(ii);
- System.out.println(c.getName());
- System.out.println(c.getAge());
- }
- in.close();
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- }
- }
- }
- class Customer implements Serializable {
- private static final long serialVersionUID = 1L;
- private String name;
- private int age;
- public String getName() {
- return name;
- }
- public int getAge() {
- return age;
- }
- public Customer(String name, int age) {
- this.name = name;
- this.age = age;
- }
- public String toString() {
- return "name=" + name + ", age=" + age;
- }
- }
希望本文所述对大家 java 程序设计有所帮助
来源: http://www.phperz.com/article/18/0222/359624.html