- 浏览: 154563 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
wcnmbbbb:
com.lowagie.text 对应的包呢?
根据数据库注释自动生成数据库文档【支持Oracle和Mysql】 -
greatwqs:
序列化算法这篇不错 : http://greatwqs.ite ...
Java IO 中对象的序列化操作 -
litao11046:
为什么使用get的时候要把具体的方法名加入hidden作为隐藏 ...
Struts DispatchAction基本的请求分发
Java IO 中对象的序列化操作
这是一个在IO中比较基础的问题,但是因为很少用到,很容易遗忘,面试的时候可能会遇到,所以记录到博客上,防止忘记
其实代码很简单:主要是用到两个类ObjectInputStream 和ObjectOutputStream 分别实现对类的读取和写入
注意的一点是:要序列化的类应该实现Serialiable接口,其实是一个空的接口,包含写入和读取的测试程序代码
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.UUID; public class TestSerialized { /** * 把对象写入文件 * @throws Exception */ public static void WriteObject(Object obj)throws Exception{ FileOutputStream fis = new FileOutputStream(new File("c:\\object.obj")); ObjectOutputStream oos = new ObjectOutputStream(fis); oos.writeObject(obj); oos.close(); } /** * 从文件读取对象 * @return * @throws Exception */ public static Object readObject() throws Exception { FileInputStream fis = new FileInputStream(new File("c:\\object.obj")); ObjectInputStream oos = new ObjectInputStream(fis); return oos.readObject(); } public static void testWrite() throws Exception{ SerializedClass sc = new SerializedClass(); sc.setId(UUID.randomUUID().toString()); sc.setName("zhougege"); WriteObject(sc); System.out.println("写入的对象:"); System.out.println(sc.getId()); System.out.println(sc.getName()); } public static void testRead() throws Exception{ Object obj = readObject(); SerializedClass sc = (SerializedClass)obj; System.out.println("读取到的对象:"); System.out.println(sc.getId()); System.out.println(sc.getName()); } public static void main(String[] args) throws Exception { testWrite(); testRead(); } }
写入对象的核心代码
/** * 把对象写入文件 * @throws Exception */ public static void WriteObject(Object obj)throws Exception{ FileOutputStream fis = new FileOutputStream(new File("c:\\object.obj")); ObjectOutputStream oos = new ObjectOutputStream(fis); oos.writeObject(obj); oos.close(); }
读取对象的核心代码
/** * 从文件读取对象 * @return * @throws Exception */ public static Object readObject() throws Exception { FileInputStream fis = new FileInputStream(new File("c:\\object.obj")); ObjectInputStream oos = new ObjectInputStream(fis); return oos.readObject(); }
发表评论
-
使用Maven构建一个开源项目的代码结构
2017-01-18 12:29 921本文仅适合maven初学者,适合那些像我一样平时不使用mav ... -
Java Des算法实现高速文件加密解密
2016-06-01 15:09 1646import java.io.FileInputStream ... -
Java比较两个数据库中所有表的区别【支持Oracle和SQLServer】
2014-12-09 14:37 4957开发过程中一般是一开发数据库 一生产数据库。 有时候在开发 ... -
根据数据库注释自动生成数据库文档【支持Oracle和Mysql】
2014-11-28 11:02 4102公司项目比较乱,很多时候都是需要先完成项目再准备文档。 数 ... -
根据SVN日志自动生成补丁包[基于Tomcat的JavaEE项目]
2014-11-25 10:08 2322项目开发过程中代码变化很频繁,需要更新文件时,每次都需要手 ... -
用批处理文件为JavaSE项目快速简单的的加载jar包
2014-02-22 10:39 615JavaSE小项目,有时候需要引入很多jar包,但是手动去修 ... -
java中WebService的HelloWorld
2011-11-14 07:24 1632WebService的HelloWorld 首先,在MyEc ... -
Swing中的JOptionPane类
2011-11-14 07:24 1725Swing中的JOptionPane类详解JOptionPan ... -
java输出PDF文档
2011-11-14 07:24 2660PDF输出用到iText包,由于PDF文档的特殊性,有可能需要 ... -
Java生成图片验证码
2011-11-14 07:24 2801Java生成图片验证码部分代码参考自网易博客白云城主的大作制作 ... -
java生成缩略图
2011-11-11 20:12 1053公司一些项目中经常把用户上传的原图用IMG标签改变尺寸后直接在 ... -
java读取和输出Excel
2011-11-11 20:11 1233Excel读取和输入要用到JXL包 输出Excel的代码示例 ... -
ApacheClient模拟浏览器GET和POST请求
2011-11-11 20:04 2043ApacheClient简介HttpClient ... -
ireport和jasperReport生成统计报表的helloworld
2010-08-04 22:51 2641本文只涉及到简单的动态数据传递 首先使用ireport创建模 ... -
使用Java 发送电子邮件
2010-08-04 22:33 1702一个采用sun的类库的java发送邮件的demo 因为使用的 ... -
Java的远程方法调用 RMI 的 HelloWorld 程序
2010-07-29 16:11 1859本文大部分内容来自 http://www.jspcn.net/ ... -
设计模式 之 工厂模式
2010-07-28 21:45 1565常用设计模式之 工厂模 ... -
设计模式 之 单例模式
2010-07-28 21:44 1529单例模式:设计中有时候需要使某个对象在整个系统中只存在一个 ... -
使用递归和dom遍历dom树形结构
2010-07-28 21:39 2564使用递归逆推出xml文件的大体结构 package com. ... -
使用jdom解析xml文件
2010-07-28 21:38 1570使用jdom解析xml package com.dowebb ...
相关推荐
序列化的过程就是对象写入字节流和从字节流中读取对象。将对象状态转换成字节流之后,可以用java.io包中的各种字节流类将其...对象序列化问题在网络编程中并不是最激动人心的课题,但却相当重要,具有许多实用意义。
把Java对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为Java对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1)把对象的字节序列地保存到硬盘上,通常存放在一个文件中...
主要介绍了Java IO流对象的序列化和反序列化实例详解的相关资料,需要的朋友可以参考下
主要介绍了java IO数据操作流、对象序列化、压缩流代码解析,具有一定借鉴价值,需要的朋友可以参考下
IO实现本地序列化和反序列化,面向对象,集合等
Java序列化(java.io.Serializable) Hadoop序列化的特点 Hadoop的序列化格式:Writable 序列化格式特点: 紧凑:高效使用存储空间。 快速:读写数据的额外开销小 可扩展:可透明地读取老格式...
为什么实现了java.io.Serializable接口才能被序列化 transient的作用是什么 怎么自定义序列化策略 自定义的序列化策略是如何被调用的 ArrayList对序列化的实现有什么好处 Java对象的序列化 ...
Java SE编程入门教程 java序列化(共14页).pptx Java SE编程入门教程 java异常(共57页).pptx Java SE编程入门教程 java正则(共8页).pptx Java SE编程入门教程 properties(共3页).pptx Java SE编程入门教程 ...
对象序列化是Java编程中的必备武器 Java高级程序设计实战教程第五章-Java序列化机制全文共15页,当前为第4页。 5.2.2 序列化应用 当你想把内存中的对象状态保存到一个文件中或者数据库中时候; 当你想用套接字在...
java中的IO操作总结(四) 前面已经把java io的主要操作讲完了 这一节我们来说说关于java io的其他内容 Serializable序列化 实例1:对象的序列化 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23...
内容概要:以上列出的Java面试题涵盖了Java语言的基础知识、面向对象编程、集合、IO流、多线程、反射、类加载器、JVM、序列化、泛型、异常处理、注解等多个方面。 适用人群:以上Java面试题适用于准备Java开发...
意义:序列化机制允许将实现序列化的Java对象转换为字节序列,并将字节序列保存在磁盘中,或通过网络传输,以达到以后恢复成原来的对象。序列化机制使地对象可以脱离程序的运行而独立存在。 使用场景:所有在网络上...
Java中的序列化(serialization)机制能够将一个实例对象的状态信息写入到一个字节流中,使其可以通过socket进行传输、或者持久化存储到数据库或文件系统中;然后在需要的时候,可以根据字节流中的信息来重构一个...
IO 概述 File 类 IO 流分类 InputStream & Reader OutputStream & Writer RandomAccessFile 类 对象的序列化
Java SE编程入门教程 java序列化(共14页).pptx Java SE编程入门教程 java异常(共57页).pptx Java SE编程入门教程 java正则(共8页).pptx Java SE编程入门教程 properties(共3页).pptx Java SE编程入门教程 ...
文件序列化示例 如何用Java将对象写入文件 如何从文件读取对象 文件压缩示例 用Java压缩ZIP格式的文件 从Java中的ZIP文件解压缩文件 目录 目录操作示例列表。 获取当前工作目录 建立目录 删除目录 复制目录 遍历...
File 类、RandomAccessFile 类、字节流(文件字节流、缓冲字节流、基本数据类型字节流、打印流、对象序列化流、字节数组流)、字符流(缓冲字符流、文件字符流、转换流、格式化输出流、字符数组流) 这份代码源码...
java 网络编程 流程控制 线程
被传递的对象需要先实现序列化,而序列化对象有两种方式:java.io.Serializable和android.os.Parcelable Java中使用的是Serializable,而谷歌在Android使用了自定义的Parcelable。 两种序列化方式的区别: 1.在...
java.io 通过数据流、序列化和文件系统提供系统输入和输出。 java.lang 提供利用 Java 编程语言进行程序设计的基础类。 java.lang.annotation 为 Java 编程语言注释设施提供库支持。 java.lang.instrument 提供...