对象的反序列化流_ObjectInputStream和transient关键字瞬态关键字
对象的反序列化流_ObjectInputStream
package com.yang.Test.ObjectStreamStudy;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
/**
 * java.io.ObjectInputStream extends InputStream
 * ObjectInputStream:对象的反序列化
 * 作用:把文件中保存的对象,以流的方式读取出来使用
 *
 * 构造方法:
 * ObjectInputStream(InputStream in)创建从指定InputStream读取的ObjectInputStream
 * 参数:
 * InputStream in:字节输入流
 * 特有的成员方法:
 * Object readObject()从ObjectInputStream读取对象
 * 特有的成员方法:
 * Object readObject()从ObjectInputStream读取对象
 *
 * 使用步骤
 * 1.创建ObjectInputStream对象,构造方法中传递字节输入流
 * 2.使用ObjectInputStream对象中的方法readObject读取保存对象文件
 * 3.释放资源
 * 4.使用读取出来的对象(打印)
 */
public class ObjectInputStreamStudy {
    public static void main(String[] args) throws IOException, ClassNotFoundException {
        ObjectInputStream ois = new ObjectInputStream(new FileInputStream("Document\\Person.txt"));
        Person p = (Person) ois.readObject();
        System.out.println(p.toString());
        ois.close();
    }
}
transient关键字瞬态关键字
static关键字:静态关键字
静态优先于静态加载到内存中(静态优先于对象进入到内存中)
被static修饰的成员变量不能被序列化,序列化的都是对象
Private static int age;
Person{name='小美女', age=0}
transient关键字:瞬态关键字
被transient修饰成员变量,不能被序列化
对象的反序列化流_ObjectInputStream和transient关键字瞬态关键字的更多相关文章
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_09 序列化流_3_对象的反序列化流_ObjectInputStream
		声明了IO异常,这里还是红色的 转换为Person对象 
- ObjectOutputStream:对象的序列化流 ObjectInputStream:对象的反序列化流
		package com.itheima.demo04.ObjectStream; import java.io.FileOutputStream; import java.io.IOException ... 
- (21)IO流之对象的序列化和反序列化流ObjectOutputStream和ObjectInputStream
		当创建对象时,程序运行时它就会存在,但是程序停止时,对象也就消失了.但是如果希望对象在程序不运行的情况下仍能存在并保存其信息,将会非常有用,对象将被重建并且拥有与程序上次运行时拥有的信息相同.可以使用 ... 
- Java——IO流 对象的序列化和反序列化流ObjectOutputStream和ObjectInputStream
		对象的输入输出流 : 主要的作用是用于写入对象信息与读取对象信息. 对象信息一旦写到文件上那么对象的信息就可以做到持久化了 对象的输出流: ObjectOutputStream 对象的输入流: Ob ... 
- java基础 序列化反序列化流 实现Serializable 接口 自动装载序列号到对象文本文件如修改不能反序列化对象文本,除非自定义long型常量 打印流
		package com.swift.baseKnowledge; import java.io.File; import java.io.FileInputStream; import java.io ... 
- Java基础知识强化之IO流笔记65:序列化流 和 反序列化流
		1. 什么是 序列化 和 反序列化 ? 序列化 (Serialization):将对象的状态信息转换为可以存储或传输的形式的过程.比如转化为二进制.xml.json等的过程. 在序列化期间,对 ... 
- Java IO(Properties/对象序列化/打印流/commons-io)
		Java IO(Properties/对象序列化/打印流/commons-io) Properties Properties 类表示了一个持久的属性集.Properties 可保存在流中或从流中加载. ... 
- JavaProperties类、序列化流与反序列化流、打印流、commons-IO整理
		Properties类 Properties 类表示了一个持久的属性集.Properties 可保存在流中或从流中加载.属性列表中每个键及其对应值都是一个字符串. 特点: 1.Hashtable的子类 ... 
- IO流--序列化流与反序列化流
		IO流--序列化流与反序列化流: 序列化流:把对象当做流一样写入到文本文件中 ObjectOutputSream(); 反序列化流:把文本文件中的流对象还原成对象ObjectInputSream(): ... 
随机推荐
- 从 rails 窥探 web 全栈开发(零)
			从 rails 窥探 web 全栈开发(零) 本文将讲述在学习之前几个必须要知道的概念,这些词汇在 rails 中都会出现. 本文前置条件:安装好 Ruby. 从 rails 窥探 web 全栈开发( ... 
- arts-week10
			Algorithm 905. Sort Array By Parity - LeetCode Review Who's Afraid of the Big Bad Preloader? 一文读懂前端缓 ... 
- 832. Flipping an Image - LeetCode
			Question 832. Flipping an Image Solution 题目大意:将1列与最后n列对换,2列与n-1列对换-然后再将每个元素取反 思路:遍历二维数组的左半边,对每个元素先做对 ... 
- 109_Power Pivot客户ABC(帕累托)分析度量值写法(非计算列)
			博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 1.背景 客户ABC分析,一般的套路是在计算列中把客户ABC分类,便于后续维度使用.今天用度量值的方式写一个ABC的分类. ... 
- isprime
			C++实现求素数个数 问题描述 求1~n的素数个数(例:n=10) 1 2 3 4 5 6 7 8 9 10 prime 2 3 5 7 not prime 1 4 6 8 9 10 素数又称质数.所 ... 
- 一些有趣的B+树优化实验
			作为目前数据库引擎的两种主要数据结构,LSM-tree和B+-tree在业界已经有非常广泛的研究.相比B+-tree,LSM-tree牺牲一定的读性能以换取更小的写放大以及更低的存储成本,但这必须建立 ... 
- .NET中线程锁的使用
			更新记录 本文迁移自Panda666原博客,原发布时间:2021年7月1日. 一.说明 由于经常需要在多线程代码中使用Monitor进行同步,并且需要自己去手写try/finally块.因此C#提供了 ... 
- C语言学习之我见-strncpy()字符串复制函数(可控制范围)
			strncpy()函数,用于两个字符串值的复制. (1)函数原型 char *strncpy(char * _Dest,const char * _Source,size_t _Count); (2) ... 
- 面试突击58:truncate、delete和drop的6大区别
			在 MySQL 中,使用 truncate.delete 和 drop 都可以实现表删除,但它们 3 个的使用场景和执行效果完全不同,接下来我们来盘点一下. truncate.delete.drop区 ... 
- JS:变量的作用域
			1.作用域: 指一个变量它在哪些代码范围能够被使用,这些地方就是变量的作用域 JS中的两种作用域: 1.全局作用域.2.函数作用域 2.在es5中 函数的代码块内部的代码 可以访问形参变量 也可 ... 
