java中的序列化和反序列化
package cn.zhou;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream; /*
*一、 序列化?
*------------ 对象存到硬盘上! 写 write
* 对象中的数据,以流的形式 ,【写入到文件中保存的过程】!
*
* 方法 ObjectOutputStream readObject(); 读取对象。
*
*
*二、反序列化?
*-------------读取对象! 读 read
*在文件中,以流的形式 将对象读取出来。
*
*方法 ObjectInputStream
*
*【注意!】
*顺序问题 ,先创建 ,再读取。 两个方法写好,先运行序列化!否则异常!
*
*
*三、阻止成员变量序列化?
* transient 关键字!
* 在成员变量前面修饰!
*
*
*四、异常问题 【java.io.NotSerializableException:】
* java.io.NotSerializableException:异常,
* 创建的PresonDemo类未实现Serializable接口,启动服务器会报此异常,
* 对代码功能没影响,或者说暂时未发现有什么影响。 要解决此异常,可通过实现该接口解决。
*
*/
public class 序列化 {
public static void main(String[] args) throws IOException, ClassNotFoundException {
run();
run01();
}
//2.反序列化 ObjectInputStream 读! read
private static void run01() throws IOException, ClassNotFoundException{
//1.序列化 创建文件一步到位!
ObjectInputStream a1=new ObjectInputStream(new FileInputStream("d:\\game\\sos.txt"));
//2.readObject(); 读取对象。
Object a=a1.readObject();
//3.输出值
System.out.println(a);
a1.close();
}
//1.序列化流 outputstream 写
private static void run() throws IOException{
//创建文件
FileOutputStream a=new FileOutputStream("d:\\game\\qqq.txt");
//序列化
ObjectOutputStream a1=new ObjectOutputStream(new FileOutputStream("d:\\game\\qqq.txt"));
//在外部新建PresonDemo类 添加数据
PresonDemo p=new PresonDemo("张三", 23);
//关闭流
a1.close();
}
}
java中的序列化和反序列化的更多相关文章
- java中的序列化与反序列化,还包括将多个对象序列化到一个文件中
package Serialize; /** * Created by hu on 2015/11/7. */ //实现序列化必须实现的接口,这就是一个空接口,起到标识的作用 import java. ...
- K:java中的序列化与反序列化
Java序列化与反序列化是什么?为什么需要序列化与反序列化?如何实现Java序列化与反序列化?以下内容将围绕这些问题进行展开讨论. Java序列化与反序列化 简单来说Java序列化是指把Java对象转 ...
- Java中的序列化与反序列化
序列化定义 将对象转换为字节流保存起来,并在以后还原这个对象,这种机制叫做对象序列化. 将一个对象保存到永久存储设备上称为持久化. 一个对象要想能够实现序列化,必须实现java.io.Serializ ...
- 在Java中进行序列化和反序列化
对象序列化的目标是将对象保存在磁盘中,或者允许在网络中直接传输对象. 对象序列化允许把内存中的Java对象转换成平台无关的二进制流,从而允许把这种二进制流持久保存在磁盘上或者通过网络将这种二进制流传输 ...
- java中的序列化和反序列化学习笔记
须要序列化的Person类: package cn.itcast_07; import java.io.Serializable; /* * NotSerializableException:未序列化 ...
- 【Java基础】序列化与反序列化深入分析
一.前言 复习Java基础知识点的序列化与反序列化过程,整理了如下学习笔记. 二.为什么需要序列化与反序列化 程序运行时,只要需要,对象可以一直存在,并且我们可以随时访问对象的一些状态信息,如果程序终 ...
- Java对象的序列化与反序列化
序列化与反序列化 序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程.一般将一个对象存储至一个储存媒介,例如档案或是记亿体缓冲等.在网络传输过程中,可以是字节或是 ...
- Java对象的序列化和反序列化[转]
Java基础学习总结--Java对象的序列化和反序列化 一.序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化.把字节序列恢复为对象的过程称为对象的反序列化. 对象的序列化主要有两种用 ...
- JAVA基础之——序列化和反序列化
1 概念 序列化,将java对象转换成字节序列的过程. 反序列化,将字节序列恢复成java对象的过程. 2 为什么要序列化? 2.1 实现数据持久化,当对象创建后,它就会一直在,但是在程序终止时,这个 ...
随机推荐
- 深入源码理解ThreadLocal和ThreadLocalMap
一.ThreadLoacl的理解: 官方的讲: ThreadLocal是一个本地线程副本变量工具类,主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰 通俗的讲: Thre ...
- Git 使用vi或vim命令打开、关闭、保存文件
1 vi & vim 有两种工作模式: (1)命令模式:接受.执行 vi & vim 操作命令的模式,打开文件后的默认模式: (2)编辑模式:对打开的文件内容进行 增.删.改 操作模式 ...
- java 一次CPU占用过高问题的排查及解决
最近一段时间 某台服务器上的一个应用总是隔一段时间就自己挂掉 用top看了看 从重新部署应用开始没有多长时间CPU占用上升得很快 排查步骤 1.使用top 定位到占用CPU高的进程PID ...
- 基于node.js的博客搭建
一个博客应当具备哪些功能? 前台展示 点击下一页,可以点击分类导航. 可以点击进入到具体博文页面 下方允许评论.显示发表时间.允许留言分页. 右侧有登录注册界面. 后台管理 管理员账号:登陆后看到页面 ...
- Filebeat简介
原文地址:http://blog.51cto.com/seekerwolf/2110174 收集日志的目的是有效的利用日志,有效利用日志的前提是日志经过格式化符合我们的要求,这样才能真正的高效利用收集 ...
- 使用Comparable接口自定义排序
Employee: package textq; /** * 调用接口Comparable排序 * @author Administrator * */ public class Employee i ...
- BFC 原理
BFC:Block-level box + Forating + Context; ------->块元素 决定其子元素如何定位, ...
- poj 1486 纸张与数字匹配(二分图+割边处理)
题目来源:http://poj.org/problem?id=1486 题意: 算出所有独一无二的字母与数字的组合,使二分图完全匹配 我以为所有点都要独一无二匹配时输出匹配方法 题解: 先得到一个完全 ...
- iOS QRcode识别及相册图片二维码读取识别
https://www.jianshu.com/p/48e44fe67c1d 2016.03.30 10:32* 字数 892 阅读 16197评论 5喜欢 34赞赏 1 最近碰到一个用户 在使用我们 ...
- c# winform导出Excel
//需要注意添加引用Microsoft.Office.Interop.Excel.dll string fileName =DateTime.Now.Year+ DateTime.Now.Month+ ...