Java序列化流-ObjectOutputStream、ObjectInputStream
Java对象流的基本概念:

实例代码:
实体类User:
import java.io.Serializable; /**
* @author zsh
* @company wlgzs
* @create 2019-01-25 15:11
* @Describe
*/
public class User implements Serializable { private Integer id; private String name; public User(Integer id, String name) {
this.id = id;
this.name = name;
} @Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
Main类:
import java.io.*;
import java.util.ArrayList; public class Main { public static void main(String[] args) throws IOException, ClassNotFoundException {
//1.定义1个存储user的ArrayList集合
ArrayList<User> list = new ArrayList<>(); //2.往ArrayList集合中存储User对象
list.add(new User(1,"张三"));
list.add(new User(2,"李四"));
list.add(new User(3,"王五")); //3.创建一个序列化流ObjectOutputSteam对象
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("t.txt")); //4.使用ObjectOutputSteam对象的方法writeObject,对集合进行序列化
oos.writeObject(list); //5.创建一个反序列化流ObjectInputSteam对象
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("t.txt")); //6.使用ObjectInputStream对象的方法readObject,读取文件中保存的集合
Object o = ois.readObject(); //7.把Object类型的集合转换为ArrayList类型
ArrayList<User> list2 = (ArrayList<User>) o; //8.遍历ArrayList集合
for (User user : list2) {
System.out.println(user);
} //9.释放资源
oos.close();
ois.close(); }
}
项目结构目录:

Java序列化流-ObjectOutputStream、ObjectInputStream的更多相关文章
- java 序列化流与反序列化流
一 对象序列化流ObjectOutputStream ObjectOutputStream 将 Java 对象的基本数据类型和图形写入 OutputStream.可以使用 ObjectInputStr ...
- Java序列化流的奇妙之旅
Java序列化流有何奇妙之处呢?通过一个个案例逐一感受序列化流. !!!好戏在后头!!! 1.IO流读写文件 先从一个普通文件读写字符串开始讲起. 例子:输出字符串到文件,再从文件中读取字符串 在某一 ...
- 序列化和返序列化的概述和对象的序列化流ObjectOutputStream
序列化和返序列化的概述 对象的序列化流ObjectOutputStream Person类: package com.yang.Test.ObjectStreamStudy; import java. ...
- Java序列化流
1.什么是序列化流 序列化就是把Java对象“流化”,序列化后的Java对象可以保存到本地文件系统,或者通过Socket传输到其他的服务器. Java中对象序列化有以下特点: 1)类实现java.io ...
- 34.4 对象流 ObjectOutputStream ObjectInputStream
* 对象操作流:可以用于读写任意类型的对象 * ObjectOutputStream * writeObject * ObjectOutputStream(OutputStream out) * Ob ...
- Java API —— IO流(数据操作流 & 内存操作流 & 打印流 & 标准输入输出流 & 随机访问流 & 合并流 & 序列化流 & Properties & NIO)
1.操作基本数据类型的流 1) 操作基本数据类型 · DataInputStream:数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型.应用程序可以使用数据输出 ...
- Java第三阶段学习(五、流的操作规律、Properties流、序列化流与反序列化流、打印流、commons-IO jar包)
一.流的操作规律 四个明确: 明确一:明确要操作的数据是数据源还是数据目的地 源:InputStream Reader 目的地:OutputStream Writer 先根据需求明确是要读还是写 ...
- JAVA基础之Properties类、序列化流及打印流、commons-IO
个人理解: Properties类是个存储String类型的键值对的集合类,可以用其存储一些关键的账号密码什么的,同时后面的注释可以很好的帮助理解,但是需要注意的是其文件中不能出现其他的符号:序列化与 ...
- java基础(25):Properties、序列化流、打印流、commons-IO
1. Properties类 1.1 Properties类介绍 Properties 类表示了一个持久的属性集.Properties 可保存在流中或从流中加载.属性列表中每个键及其对应值都是一个字符 ...
随机推荐
- 2018/03/16 echo、print_r、print、var_dump之间的区别
还是先说下我对这个方法的理解 print_r()用于 cli模式下的输出调试,error_log() 调试 var_dump() 用于页面的显示调试 echo() 用处比较多,__toString() ...
- HTML5 桌面提示
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- 大数据智能SOC解决方案
- oracle( 0 )事务
一.并发引起的问题 脏读:能读取未提交的数据 不可重复读:T1事务读取数据后,T2事务执行更新操作,使T1无法再现前一次读取的结果.分三种情况: 1.值不同 2.少了记录 3.多了记录 幻象读(后两种 ...
- 12 jmeter性能测试实战--web程序
项目背景 项目:XX网站环境:Windows需求:并发登录的性能测试场景:1s增加2个线程,运行2000次(线程数20,Ramp-Up seconds 10,循环次数100).分别看20.40.60并 ...
- HTML5 脚本 语言代码 URL 符号实体 ASCII码 颜色
1.HTML<noscript> 标签 <noscript> 标签提供无法使用脚本时的替代内容,比方在浏览器禁用脚本时,或浏览器不支持客户端脚本时. <noscript& ...
- 万恶之源 - Python基础知识补充
编码转换 编码回顾: 1. ASCII : 最早的编码. ⾥⾯有英⽂⼤写字⺟, ⼩写字⺟, 数字, ⼀些特殊字符. 没有中⽂, 8个01代码, 8个bit, 1个byte 2. GBK: 中⽂国标码, ...
- 使用HttpClient进行远程接口测试
前两天在工作中,项目组长给我了一个远程接口让我给测一下,因为是http协议,所以我首先想到了用httpClient工具类来测试,网上一查,找到了好多示例代码,随便复制了一个demo进行了简单的修改,结 ...
- python-字符串前面添加u,r,b的含义
u/U:表示unicode字符串 不是仅仅是针对中文, 可以针对任何的字符串,代表是对字符串进行unicode编码. 一般英文字符在使用各种编码下, 基本都可以正常解析, 所以一般不带u:但是中文, ...
- Selenium - Css Selector 使用方法
什么是Css Selector? Css Selector定位实际就是HTML的Css选择器的标签定位 工具 Css Selector可以下载火狐浏览器插件,FireFinder 或 FireBug和 ...