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.什么是序列化? 序列化就是将对象的状态存储到特定存储介质中的过程,也就是将对象状态转换为可保持或传输格式的过程. 在序列化过程中,会将对象的公有成员.私有成员(包括类名),转换为字节流 ...
随机推荐
- VS调试异常代码 HRESULT:0x80070057 (E_INVALIDARG)解决方法
我目前在做的一个系统是VS2010写的的B/S架构程序, 主要技术是:C#.SQLSERVER2008.NHibernate,Python,Nhibernate 的*.hbn.xml是映射数据库的表结 ...
- 阶段3 1.Mybatis_09.Mybatis的多表操作_7 mybatis多对多准备角色表的实体类和映射配置
创建Role表和user_role表 DROP TABLE IF EXISTS `role`; CREATE TABLE `role` ( `ID` int(11) NOT NULL COMMENT ...
- python学习之文件读写操作
open函数 在使用文件之前,需要先打开,即使用open函数 如: files=open("文件路径","操作方式") 解释如下: (1.files:为文件对象 ...
- 打印一个浮点数组,会输出字符串"Hello, world“ & 浮点数的二进制表示(IEEE 754标准)
#include <stdio.h> #include<stdlib.h> int main() { float a[3] = { 1143139122437582505939 ...
- Alert弹出框处理
selenium的API提供了Alert类对alert弹出框的处理的方法,涉及到的方法有text,dismiss(),accept()和send_keys(),在javascript中主要有alert ...
- Discrete Mathematics and Its Applications | 1 CHAPTER The Foundations: Logic and Proofs | 1.2 Applications of Propositional Logic
Translating English Sentences System Specifications Boolean Searches Logic Puzzles Logic Circuits
- Java抽象接口技巧(一)
原文链接 http://blog.csdn.net/qq_35101189/article/details/70799155 在程序设计过程中,读者很可能遇到这样一种困境:设计了一个接口,但实现这个接 ...
- 【C语言--数据结构】线性顺序表
线性表的本质: 1.线性表(List)是零个或者多个数据元素的集合: 2.线性表中的数据元素之间是有顺序的: 3.线性表中的数据元素个数是有限的: 4.线性表中的数据元素的类型必须相同: 定义: 线性 ...
- JExcel - 学习总结(1)
1.什么是JExcel JExcel是Java对Excel进行操作的包,可以实现创建一个Excel并写入或读取Excel的数据等操作: JExcel的主要类为: (1)Workbook:工作簿 (2) ...
- Java中HashMap扩容机制思考
1. HashMap在什么条件下扩容 判断HashMap的数组Size大小如果超过loadFactor*capacity,就要扩容. 相关的类属性: capacity:当前数组容量,始终保持 2^n, ...