java序列化和java反序列化示例_java

序列化一般应用与以下场景之中:

1.永久性保存对象,把对象通过序列化字节流保存到本地文件中;
2.通过序列化在网络中传输对象
3.通过序列化在进程间传递对象

复制代码 代码如下:

import java.io.Serializable;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;

public class javaSerializable_fun {

/**
   * java.io.Serializable 接口,类只有实现Serializable借口才能被序列化
   * java.io.Externalizable接口,利用java的序列化和反序列化工具,很多存储和恢复对象的工作都可以自动完成。
   * java.io.ObjectOutput接口,序列化传出, 继承了DataOutput接口并定义了一些方法,它支持对象序列化;
   *   重点说明:在该类中,writeObject()方法是最重要的方法,用于对象序列化,如果对象包含其他的对象引用,则writeObject()方法地柜序列化这些对象;
   * java.io.ObjectOutputStream类,负责向流中写入对象,构造方法:ObjectOutputStream(OutputStream out);
   * java.io.ObjectInput接口,序列化传入。继承了DataInput接口并定义了一些方法,它支持对象序列化;
   * ObjectInputStream类, 负责向从流中读取对象,构造方法:ObjectInputStream(InputStream out);
   ***/

public static void main(String[] args) {

    try
  {
   //构造FileOutputStream对象
   FileOutputStream f=new FileOutputStream("C:a.txt");

   //构造ObjectOutputStream对象
   ObjectOutputStream out=new ObjectOutputStream(f);

   Customer customer=new Customer("bj",50);

   //使用ObjectOutputStream对象的writeObject()方法进行序列化
   out.writeObject(customer);

   //关闭ObjectOutputStream对象
   out.close();

   //关闭FileOutputStream对象
     f.close();
     System.out.println("序列化完毕!");
  }
  catch(IOException e)
  {
   e.getStackTrace();
  }

}

}

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;
 }
}

时间: 2024-10-28 03:57:16

java序列化和java反序列化示例_java的相关文章

JAVA HashMap详细介绍和示例_java

第1部分 HashMap介绍HashMap简介HashMap 是一个散列表,它存储的内容是键值对(key-value)映射.HashMap 继承于AbstractMap,实现了Map.Cloneable.java.io.Serializable接口.HashMap 的实现不是同步的,这意味着它不是线程安全的.它的key.value都可以为null.此外,HashMap中的映射不是有序的.HashMap 的实例有两个参数影响其性能:"初始容量" 和 "加载因子".容量

JAVA实现双边决策的示例_java

现实生活中存在很多问题,比如商品买卖如何实现商家利润最大化?大学生招生录取如何实现整体效果最好?病人医生如何实现整体服务水平最高等?这些我们都可以把他统一的转化为双边决策问题.下面先说说自己对双边决策的理解. 双边决策--个人理解 为了帮助大家理解,我用一个简单的例子介绍什么是双边决策,加入现在市场上有10位顾客,分别为A0.A1.A2.A3.A4.A5.A6.A7.A8.A9,市场上有是个商品,分别为B0.B1.B2.B3.B4.B5.B6.B7.B8.B9,现在要求要把这10个商品分别分给这

java程序中foreach用法示例_java

语法 复制代码 代码如下: for (Object objectname : preArrayList(一个Object对象的列表)) {} 示例 复制代码 代码如下: package com.kuaff.jdk5;import java.util.*; import java.util.Collection; public class Foreach{private Collection c = null; private String[] belle = new String[4]; pub

java引用jpython的方法示例_java

本文实例讲述了java引用jpython的方法.分享给大家供大家参考,具体如下: import java.util.ArrayList; import java.util.List; import org.python.core.PyException; import org.python.core.PyInteger; import org.python.core.PyObject; import org.python.util.PythonInterpreter; public class

java使用jaxb操作xml示例_java

首先定义两个示例类ClassA,ClassB,用于后续的示例演示 复制代码 代码如下: package cn.lzrabbit; public class ClassA {     private int classAId;     private String classAName;     private ClassB classB;     public int getClassAId() {         return classAId;     }     public void s

java协变返回类型使用示例_java

Java 5.0添加了对协变返回类型的支持,即子类覆盖(即重写)基类方法时,返回的类型可以是基类方法返回类型的子类.协变返回类型允许返回更为具体的类型.示例程序如下: 复制代码 代码如下: import java.io.ByteArrayInputStream;import java.io.InputStream; class Base{    //子类Derive将重写此方法,将返回类型设置为InputStream的子类   public InputStream getInput()   { 

详解DES加密算法及在Java程序中的使用示例_java

DES加密算法DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,1976年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),随后在国际上广泛流传开来. DES算法的入口参数有三个:Key.Data.Mode.其中Key为7个字节共56位,是DES算法的工作密钥;Data为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密. DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥

Java parseInt解释加方法示例_java

    java parseInt()                       语法:   static int parseInt(String s)                             static int parseInt(String s, int radix)                      参数:String s :表示是一个十进制字符串的表示形式                              int radix: 表示将字符串转化为整数 

java字符串压缩解压示例_java

我测试的字符串是JQuery源码. 明文长度:78082压缩后:26566加密长度:54746再压缩:41647-----------------------------密文长度:41647解压缩:54746解密后:26566再解压:78082-----------------------------比对成功 Des需要Jar:sun.misc.BASE64Decoder.jar Test 复制代码 代码如下: public static void main(String[] args) thr