java:序列化Serializable 接口
java:序列化Serializable 接口
public class SerializePerson implements Serializable {
private String name;
private int age;
public SerializePerson(String name, int age)
{
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "姓名:" + name + ", 年龄:" + age;
}
}
一,单对象序列化
public static void main(String[] args) throws Exception, Exception {
// TODO 自动生成的方法存根
if( args[0].equals("set") )
{
setPseron();
}else if( args[0].equals("get") )
{
getPseron();
}else{
System.out.println("抱歉,你什么都没有输入");
}
System.out.println(args[0]);
}
public static void setPseron() throws Exception, IOException
{
File file = new File("F:"+File.separator+"work"+File.separator+"work"+File.separator+"a.txt");
ObjectOutputStream oobs = null;
oobs = new ObjectOutputStream( new FileOutputStream(file) );
oobs.writeObject(new SerializePerson("张三",22));
oobs.close();
}
public static void getPseron() throws Exception, IOException
{
File file = new File("F:"+File.separator+"work"+File.separator+"work"+File.separator+"a.txt");
ObjectInputStream oips = null;
oips = new ObjectInputStream( new FileInputStream(file) );
Object obj = oips.readObject();
SerializePerson per = (SerializePerson) obj;
System.out.println(per);
}
二。多对象,多数组序列化
public static void main(String[] args) throws Exception, Exception
{ if(args[0].equals("set"))
{ setPerson();
}else if(args[0].equals("get"))
{
Object obj = getPerson();
SerializePerson per[] = (SerializePerson[]) obj;
print(per); }else{
System.out.println("请输入一个操作");
} } public static void setPerson() throws Exception, IOException
{
File file = new File("F:"+File.separator+"work"+File.separator+"work"+File.separator+"person.per");
ObjectOutputStream oopt = new ObjectOutputStream( new FileOutputStream(file) ); SerializePerson per[] = {new SerializePerson("张三",22), new SerializePerson("李四",44), new SerializePerson("王五",33)};
oopt.writeObject(per);
oopt.close();
} public static Object getPerson() throws Exception, IOException
{
File file = new File("F:"+File.separator+"work"+File.separator+"work"+File.separator+"person.per");
ObjectInputStream lis = null;
lis = new ObjectInputStream( new FileInputStream(file) );
Object obj = null;
obj = lis.readObject();
lis.close();
return obj; } public static void print(SerializePerson per[])
{
for(SerializePerson p: per)
{
System.out.println(p);
}
}
java:序列化Serializable 接口的更多相关文章
- Java 序列化Serializable接口
1 什么是序列化和反序列化 Serialization(序列化)是一种将对象以一连串的字节描述的过程:反序列化deserialization是一种将这些字节重建成一个对象的过程. 2 什么情况下需要 ...
- 编程进阶:Java小白的序列化Serializable接口
在之前的学习过程中,我们知道了如何使用FileInputStream输入流和FileOutputStream输出流编写程序读写文件. 下面我们来学习一下如何使用序列化和反序列化读写文件. 一.序列化 ...
- Java 的序列化Serializable接口介绍及应用
常看到类中有一串很长的 如 private static final long serialVersionUID = -4667619549931154146L;的数字声明.这些其实是对此类进行序列化 ...
- Java 序列化Serializable详解
Java 序列化Serializable详解(附详细例子) Java 序列化Serializable详解(附详细例子) 1.什么是序列化和反序列化Serialization(序列化)是一种将对象以一连 ...
- Java 序列化Serializable详解(附详细例子)
Java 序列化Serializable详解(附详细例子) 1.什么是序列化和反序列化 Serialization(序列化)是一种将对象以一连串的字节描述的过程:反序列化deserialization ...
- Java 序列化Serializable具体解释(附具体样例)
Java 序列化Serializable具体解释(附具体样例) 1.什么是序列化和反序列化 Serialization(序列化)是一种将对象以一连串的字节描写叙述的过程:反序列化deserializa ...
- java 序列化Serializable 详解
Java 序列化Serializable详解(附详细例子) 1.什么是序列化和反序列化Serialization(序列化)是一种将对象以一连串的字节描述的过程:反序列化deserialization是 ...
- Java 序列化Serializable详解(附详细例子)
Java 序列化Serializable详解(附详细例子) 1.什么是序列化和反序列化Serialization(序列化)是一种将对象以一连串的字节描述的过程:反序列化deserialization是 ...
- 序列化Serializable接口
一.序列化 1.什么是序列化? 序列化就是将对象的状态存储到特定存储介质中的过程,也就是将对象状态转换为可保持或传输格式的过程. 在序列化过程中,会将对象的公有成员.私有成员(包括类名),转换为字节流 ...
随机推荐
- 【Python】—— 获取当前运行函数名称和类方法名称
原文出处: python笔记19-获取当前运行函数名称和类方法名称 获取函数名称 1.在函数外部获取函数名称,用.__name__获取 2.函数内部获取当前函数名称,用sys._getframe(). ...
- WPF DevExpress Chart控件 界面绑定数据源,不通过C#代码进行绑定
<Grid x:Name="myGrid" Loaded="Grid_Loaded" DataContext="{Binding PartOne ...
- java网络通信:伪异步I/O编程(PIO)
缺点:避免了线程资源耗尽的问题,但是根本上来说,serversocket的accept方法和inputstream的输入流方法都是阻塞型方法. 服务端:加了一个线程池,实现线程复用.客户端不变 pub ...
- OpenStack Rally 质量评估与自动化测试利器
目录 文章目录 目录 问题描述 Rally 简介 应用场景 应用案例 Rally 安装 Rally 使用 Rally 架构 Rally Plugin 分析与实现 程序入口 执行 rally task ...
- CentOS 6.5 编译安装Apache2.4
一. httpd 2.4的新特 1) MPM支持运行时装载 --enable-mpms-shared=all --with-mpm=prefork|worker|event2) 支持event MPM ...
- QA的工作职责是什么?
目前不知道,后续一点一点查资料补充吧 QA不管做什么的类型的测试,最基础的功能测试,需要搭建测试环境:进阶部分的性能压力测试,对搭建环境的要求更高:接口功能测试,搭建测试环境,和功能测试的差不多: 测 ...
- dbvisualizer安装
1. 下载DbVisualizer安装包. 2.解压. 无论是哪个版本的dbvisualizer破解版, 都可以找到安装程序(例dbvis_windows-x64_10_0_10.exe), dbvi ...
- [JS] 鼠标点击文本框清空默认值,离开文本框恢复默认值
在使用文本框的时候,若设定了初始值,选择文本框进行输入的时候要将本来的内容进行删除,会显得非常麻烦 可以在文本框属性定义触发onfocus和onblur两个事件时对应的js功能 下面以asp.net代 ...
- Redis进阶:Redis的哨兵模式搭建
Redis进阶:Redis的哨兵模式搭建 哨兵机制介绍 单机版的Redis存在性能瓶颈,Redis通过提高主从复制实现读写分离,提高了了Redis的可用性,另一方便也能实现数据在多个Redis直接的备 ...
- 解决MySql忘记密码
描述:忘记了mysql的登录密码,无法登录的情况下该怎么办? 环境:CentOS 7,数据库:mysql 5.7 1.停止数据库(先查看mysql服务是否运行) # ps -ef | -i grep ...