在网上看到一篇有关于对象序列化的代码,自己仿着写了把

在Java中,entity通过implements Serializable,然后使用ObjectInputStream和ObjectOutputStream把象序列化输入输出

package com.formain.lyy.service.util.serializable;

import java.io.Serializable;
import java.util.Date; @SuppressWarnings("serial")
public class PeoperEntity implements Serializable{ private String name; //姓名
private Integer age; //年龄
private String gender; //性别
private Date birthday; //出生年月日 @Override
public String toString() {
return "PeoperEntity [name=" + name + ", age=" + age + ", gender="
+ gender + ", birthday=" + birthday + "]";
} public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
}

public static void main(String[] args) {
String filename = "peoperEntity.ser"; PeoperEntity peoperEntity = new PeoperEntity();
peoperEntity.setAge(50);
peoperEntity.setGender("男");
peoperEntity.setName("张三"); ArrayList<PeoperEntity> arrayList = new ArrayList<PeoperEntity>();
arrayList.add(peoperEntity);
try {
SerializableUtils.serializable(arrayList, filename);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("peoperEntity :\t"+peoperEntity.toString()); ArrayList<PeoperEntity> peNew = null;
try {
peNew = (ArrayList<PeoperEntity>)SerializableUtils.getSerialzable(filename);
} catch (Exception e) {
e.printStackTrace();
} System.out.println(peNew);
}
package com.formain.lyy.service.util.serializable;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream; public class SerializableUtils { /**
* 根据文件名序列化对象并返回
* @param filename
* @return Object | null
* @throws Exception
*/
public static Object getSerialzable(String filename)throws Exception{
//创建文件输入流
FileInputStream fileInputStream = new FileInputStream(new File(filename)); //根据文件输入流获取一个对象输入流
ObjectInputStream objInputStream = new ObjectInputStream(fileInputStream);
//获得对象并返回
Object obj = objInputStream.readObject();
return obj;
} /**
* 序列化对象
* @param seriObj
* @param filename
* @return
* @throws Exception
*/
public static void serializable(Object seriObj, String filename)throws Exception{ //创建文件输出流
FileOutputStream fileOutputStream = new FileOutputStream(new File(filename)); //对象输出流对象
ObjectOutputStream objOutputStream = new ObjectOutputStream(fileOutputStream);
//输出
objOutputStream.writeObject(seriObj);
objOutputStream.close(); fileOutputStream.close();
}
}

Java对象序列化输入输出的更多相关文章

  1. Java对象序列化剖析

    对象序列化的目的 1)希望将Java对象持久化在文件中 2)将Java对象用于网络传输 实现方式 如果希望一个类的对象可以被序列化/反序列化,那该类必须实现java.io.Serializable接口 ...

  2. 理解Java对象序列化

    http://www.blogjava.net/jiangshachina/archive/2012/02/13/369898.html 1. 什么是Java对象序列化 Java平台允许我们在内存中创 ...

  3. java 对象序列化与反序列化

    Java序列化与反序列化是什么? 为什么需要序列化与反序列化? 如何实现Java序列化与反序列化? 本文围绕这些问题进行了探讨. 1.Java序列化与反序列化  Java序列化是指把Java对象转换为 ...

  4. java 对象序列化

    java 对象序列化 package org.rui.io.serializable; import java.io.ByteArrayInputStream; import java.io.Byte ...

  5. 理解Java对象序列化(二)

    关于Java序列化的文章早已是汗牛充栋了,本文是对我个人过往学习,理解及应用Java序列化的一个总结.此文内容涉及Java序列化的基本原理,以及多种方法对序列化形式进行定制.在撰写本文时,既参考了Th ...

  6. 关于 Java 对象序列化您不知道的 5 件事

    数年前,当和一个软件团队一起用 Java 语言编写一个应用程序时,我体会到比一般程序员多知道一点关于 Java 对象序列化的知识所带来的好处. 关于本系列 您觉得自己懂 Java 编程?事实上,大多数 ...

  7. java 对象序列化 RMI

    对于一个存在于Java虚拟机中的对象来说,其内部的状态只保持在内存中.JVM停止之后,这些状态就丢失了.在很多情况下,对象的内部状态是需要被持久化下来的.提到持久化,最直接的做法是保存到文件系统或是数 ...

  8. Java对象序列化入门

      Java对象序列化入门 关于Java序列化的文章早已是汗牛充栋了,本文是对我个人过往学习,理解及应用Java序列化的一个总结.此文内容涉及Java序列化的基本原理,以及多种方法对序列化形式进行定制 ...

  9. Java对象序列化与反序列化一 JSON

    Java对象序列化与反序列化一 JSON 1. 依赖库 jackson-all-1.6.1.jar 2. 代码 public class Student {    private String nam ...

随机推荐

  1. PaperReading20200222

    CanChen ggchen@mail.ustc.edu.cn   VS-GAE Motivation: With the publication of NAS101, researchers can ...

  2. PHP 获取一周的时间

    $date = array( 'Monday' => array(date('Y-m-d H:i:s',strtotime("Monday")),date('Y-m-d H: ...

  3. Python字符串(二)

    四.类型转换 1. 基本语法: 类型名(数据) --- 将指定数据转换成指定类型 说明:类型名 -任何python支持的,或者自定的类型都可以数据 -需要转换的对象,类型不同要求可能不一样 2. 转换 ...

  4. 六、ibatis1.2.8查询性能优化,实现百万数据zip导出

    经测试发现将查询的结果100万数据(池子中共有大概14亿的数据)写入Excle文件并进行压缩导出zip文件最耗时的地方竟然在查询,因此本篇文章主要是针对如何在spring+ibatis1.2.8中优化 ...

  5. boost::timer demo

    #include <iostream> #include <boost/timer.hpp> //timer的头文件 using namespace boost; //打开bo ...

  6. d3基本图形

                                             柱状图                                   散点图.气泡图               ...

  7. Django 连接 Mysql (8.0.16) 失败

    首先,确认数据库配置正确无误: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # or use: mysql.con ...

  8. 45 孩子们的游戏(圆圈中最后剩下的数) + list操作总结+ for_each多记忆容易忘记

    题目描述 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为牛客的资深元老,自然也准备了一些小游戏.其中,有个游戏是这样的:首先,让小朋友们围成一个大圈.然后,他随机指 ...

  9. modelsim10.4环境变量的设置

    在用户变量中设置,注意路径还要包括license.txt 点击高级属性设置 点击环境变量 在用户变量一件名为:MGLS_LICENSE_FILE的变量 点击确定

  10. c++中的全排列

    next_permutation函数 组合数学中经常用到排列,这里介绍一个计算序列全排列的函数:next_permutation(start,end),和prev_permutation(start, ...