- 浏览: 635080 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (609)
- java (139)
- 数据库 (107)
- 微信 (23)
- IT生活 (5)
- web前端 (74)
- SSH (11)
- 设计模式 (12)
- 重要资料 (11)
- 其他 (15)
- java技巧 (23)
- 服务器 (9)
- 2D/GUI (3)
- JAVA3D (2)
- ANT (5)
- Apache项目 (19)
- 数据类型 (10)
- 报表 (3)
- Collections (6)
- SQL/JDBC (15)
- 开发类 (6)
- EJB (6)
- Email (6)
- 文件读写 (2)
- 游戏 (0)
- Flex (2)
- Generic (2)
- HIbernate (12)
- I18N (5)
- Java EE (9)
- java ME (4)
- JDK 6 (8)
- JNDI/LDAP (5)
- JSP (7)
- JSTL (2)
- 正则表达式 (2)
- 安全 (2)
- Struts2 (12)
- Spring (4)
- Web服务 (10)
- Xml (1)
- JavaScript (30)
- AJAX (7)
- 验证 (4)
- 上传下载 (1)
- office办公软件 (1)
- Android (2)
- IOS (0)
- Dubbo (3)
- memcached/redis (1)
- 小程序 (1)
- 微信公众号 (0)
最新评论
-
wf_wangfeng:
怎么我用第一种方法不行呢 alert(document.rea ...
当jsp页面完全加载完成后执行一个js函数 -
Lori_Liu:
有帮助,至少可以解决了目前所遇到的问题!谢谢..
当jsp页面完全加载完成后执行一个js函数 -
starbhhc:
String actionMessage = new Stri ...
Java读取txt文件乱码 -
starbhhc:
Sev7en_jun 写道GOOD
客气,互相交流。。
javaeye论坛规则小测验(答案)--star -
Sev7en_jun:
GOOD
javaeye论坛规则小测验(答案)--star
**
* 对象序列化与反序列化
*
* @author 王延枫
* @email wangyanfengzhige@126.com
*/
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;
/* 需要持久化的类
* 要想使类支持对象序列化,只需要实现Serializable接口
*/
class Person implements Serializable {
/* 属性 */
private String id;
private String password;
private String name;
private int age;
// 如果不想对某些属性进行序列化,则需加上transient修饰符
private transient String sex;
/* setter和getter方法 */
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
/* 覆盖toString方法 */
public String toString() {
return "对象信息是:" + id + " " + password + " " + name + " " + age + " " + sex;
}
}
/*
* 实现了对象序列化和反序列化的类
*/
public class SeriObject {
/**
* 序列化
*
* @param person 对象名
* @param file 指定文件
*/
public void writePerson(Person person, String file) {
try {
// 对象输出流,指向指定文件
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(file));
out.writeObject(person);// 将对象写入文件
out.flush();// 清空
out.close();// 关闭
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 反序列化
*
* @param file 指定文件
*/
public void readPerson(String file) {
try {
// 对象输入流,来源于指定文件
ObjectInputStream in = new ObjectInputStream(new FileInputStream(file));
Object o = in.readObject();// 将对象从文件读出
in.close();// 关闭
if (o != null) {
if (o instanceof Person)
System.out.println(o.toString());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
/*
* 测试
*/
Person person = new Person();
person.setId("star");
person.setPassword("star");
person.setName("王峰");
person.setAge(23);
person.setSex("男");
SeriObject so = new SeriObject();
so.writePerson(person, "person.txt");
so.readPerson("person.txt");
}
}
* 对象序列化与反序列化
*
* @author 王延枫
* @email wangyanfengzhige@126.com
*/
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;
/* 需要持久化的类
* 要想使类支持对象序列化,只需要实现Serializable接口
*/
class Person implements Serializable {
/* 属性 */
private String id;
private String password;
private String name;
private int age;
// 如果不想对某些属性进行序列化,则需加上transient修饰符
private transient String sex;
/* setter和getter方法 */
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
/* 覆盖toString方法 */
public String toString() {
return "对象信息是:" + id + " " + password + " " + name + " " + age + " " + sex;
}
}
/*
* 实现了对象序列化和反序列化的类
*/
public class SeriObject {
/**
* 序列化
*
* @param person 对象名
* @param file 指定文件
*/
public void writePerson(Person person, String file) {
try {
// 对象输出流,指向指定文件
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(file));
out.writeObject(person);// 将对象写入文件
out.flush();// 清空
out.close();// 关闭
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 反序列化
*
* @param file 指定文件
*/
public void readPerson(String file) {
try {
// 对象输入流,来源于指定文件
ObjectInputStream in = new ObjectInputStream(new FileInputStream(file));
Object o = in.readObject();// 将对象从文件读出
in.close();// 关闭
if (o != null) {
if (o instanceof Person)
System.out.println(o.toString());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
/*
* 测试
*/
Person person = new Person();
person.setId("star");
person.setPassword("star");
person.setName("王峰");
person.setAge(23);
person.setSex("男");
SeriObject so = new SeriObject();
so.writePerson(person, "person.txt");
so.readPerson("person.txt");
}
}
发表评论
-
maven项目第一行报错:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.mave
2020-04-09 01:23 456maven项目第一行报错:org.apache.maven.a ... -
删除项目中的所有.svn文件夹(或CVS文件夹)
2019-06-06 19:19 408当你的项目用SVN管理时,在项目的每个文件夹中会多一个.svn ... -
eclipse下生成Java类图和时序图,生成UML图
2016-12-30 02:28 2009最近老板让我做类图和时序图,提苦恼的,完全不会,就从网上整理 ... -
eclipse使用ModelGoon插件自动生成java类的UML图
2016-12-30 02:23 11931、ModelGoon介绍 ModelGo ... -
linux下的tomcat jvm内存
2016-11-30 23:19 550常见的内存溢出有以下两种: Java.lang.OutOf ... -
FTP实现客户端与服务器文件传输(二)
2016-08-06 01:22 980/*以sun开头的class不是java里面的标准类,而是 ... -
java实现文件转换成二进制存储与取出
2016-08-06 01:21 2651一、功能描述: 将文件转成二进制数据放入数据库中,需要的 ... -
Resource specification not allowed here for source level below 1.7
2016-08-05 11:14 1085现象:tomcat能正常启动,但打开页面时,出现上面的错误 ... -
使用commons.net FTP 和sun.net.ftp.FtpClient 多种方式上传下载(包括批量)删除功能(一)
2016-08-04 10:38 649使用commons.net FTP 上传下载删除功能 ... -
第十一节 CAS服务端RememberMe
2016-06-07 11:03 1131关于启用RememberMe功能所需做的修改描述 ... -
第七节:CAS4.0.0 以上服务端配置多个数据源
2016-06-03 14:50 10591.首先打开deployerConfigContext.x ... -
第六节:CAS服务端自定义数据库认证用户
2016-06-03 11:46 2300/** * @see --------------- ... -
第四节:将CAS https的认证方式改为http
2016-06-01 08:49 1646一、CAS Server端的修改 1、找到cas\W ... -
java 读取html过滤标签
2016-05-27 16:19 947public static void main(Strin ... -
获取cookie
2016-05-26 16:07 778获取cookie -
spring同时集成redis和mongodb时遇到多个资源文件加载的问题
2016-05-14 15:40 734两天平台中集成redis和mongodb遇到一个问题 单独 ... -
Windows上安装OpenSSL和生成证书
2016-05-10 15:52 22871,先下载OpenSSL http://www.slpr ... -
4.ubuntu14.04 安装mongodb笔记
2016-05-06 08:52 6251、使用系统自动获取安装。 1)获取更新 s ... -
3.nodejs nodejs的mysql模块
2016-04-12 22:20 520安装nodejs的mysql模块首先要选定一个数据库,我选择 ... -
第二节:cas处理中文乱码
2016-04-07 11:38 1225cas service配置参考第一节。 casServi ...
相关推荐
java 对象的序列化与反序列化 java 对象的序列化与反序列化
主要介绍了Java中对象序列化与反序列化,较为详细的分析了java中对象序列化的概念、原理、实现方法及相关注意事项,具有一定参考借鉴价值,需要的朋友可以参考下
Xson是一个Java对象序列化和反序列化程序。支持Java对象到字节数组的序列化,和从字节数组到Java对象的反序列化。 Maven: <groupId>com.github.xsonorg</groupId> <artifactId>xson-core <version>1.0.1 ...
java对象 java序列化 java反序列化
JAVA对象的序列化与反序列化详细PPT课件.pptx
主要为大家详细介绍了Java中对象序列化与反序列化,感兴趣的小伙伴们可以参考一下
Java对象的序列化与反序列化Java开发Java经验技巧共10页.pdf.zip
JAVA对象的序列化与反序列化 ppt 开发解疑必备
极好的序列化与发序列化代码。可以处理array集合,数组或者单个对象等的序列化与反序列化。
通过一个章节来讲解序列化与反序列化,对binaryformatter soapformatter xmlserializer这三种序列化的详情讲解,希望对大家有所帮助。
ProtoBuf的介绍以及在Java中使用protobuf将对象进行序列化与反序列化示例代码.rar
然后,我们从文件中反序列化对象,并打印反序列化后的对象的属性。 通过实现 Serializable 接口,Java对象可以被序列化和反序列化。序列化可以将对象转换为字节流,以便于存储或传输。反序列化则可以将字节流重新...
JAVA对象的序列化与反序列化详细学习教案.pptx
Android上的Java对象反序列化
把字节序列恢复为Java对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1)把对象的字节序列地保存到硬盘上,通常存放在一个文件中; 2)在网络上传送对象的字节序列。 一、JDK类库...
JAVA对象的序列化与反序列化详细PPT学习教案.pptx
java基础 对象序列化
序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。
java 序列化对象 MARSHALLING UNMARSHALLING
序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态(也就是实例...虽然你可以用你自己的各种各样的方法来保 存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。