对象流

  • 对象流就是对引用数据类型进行操作
  • 序列化:将对象的状态信息转换为可以存储或传输的形式的过程,因此类需要序列化后才可以存储到文件中

对象输出流:

很简单,就三句话,将把一个对象导入指定文件中,要注意:被导入的对象必须要实现一个借口(Serializable,可序列化接口),而这个接口就是一个标志,在没有作用,标志你可以被导入到硬盘中

我们写进文件中的信息我们看不懂,但是计算机可以看懂

package com.bjsxt.test08;

import java.io.*;

public class Test {
public static void main(String[] args) throws IOException {
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("D:\\a\\a.txt")));
oos.writeObject(new Student(18,"hao"));
oos.close();
}
}

对象输入流:

注意:

  1. 类中要有ToString方法
  2. 要给类加一个序列化版本号,这样就可以无论如何修改都可以同步了,就不会出现异常
  3. 类中static,transient修饰的属性不会参与序列化
  4. 如果你把引用数据类型当做属性的话(需要创建对象),必须将它进行序列化操作,不然会影响外边的序列化操作
package com.bjsxt.test08;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream; public class Test02 {
public static void main(String[] args) throws IOException, ClassNotFoundException {
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(new File("D:\\a\\a.txt")));
Object o = ois.readObject();
System.out.println(o);
ois.close();
}
}
  • 实现类如何生成序列化版本号?
  1. 点击File------->Settings--------->inspections

  2. 在实现类上Alt+Insert生成序列化版本化。

io流(对象流总结)的更多相关文章

  1. JAVA_基础IO流对象流(三)

    处理流:对象流 ObjectInputStream和OjbectOutputSteam用于存储和读取基本数据类型数据或对象的处理流.可以把Java中的对象写入到数据源中,也能把对象从数据源中还原回来. ...

  2. JAVA笔记12__字节、字符缓冲流/打印流/对象流/

    /** * !!:以后写流的时候一定要加入缓冲!! * 对文件或其它目标频繁的读写操作,效率低,性能差. * 缓冲流:好处是能更高效地读写信息,原理是将数据先缓冲起来,然后一起写入或读取出来. * * ...

  3. java对象流(二)

    对象流,可以将java中的对象转为字节进行输出.将对象写入文件时.文件输出流是将字节写入到文件中. 对象流是将给定的对象转化为一组字节.writeObject()方法就是将对象转为字节. 对象流,读的 ...

  4. day03 对象流与序列化

    对象流 java.io.ObjectOutputStream和ObjectInputSteam 对象流是一对高级流,在流连接中的作用是进行对象的序列化与反序列化. 对象序列化:将一个java对象按照其 ...

  5. Java:IO流其他类(字节数组流、字符数组流、数据流、打印流、Properities、对象流、管道流、随机访问、序列流、字符串读写流)

    一.字节数组流: 类 ByteArrayInputStream:在构造函数的时候,需要接受数据源,而且数据源是一个字节数组. 包含一个内部缓冲区,该缓冲区包含从流中读取的字节.内部计数器跟踪 read ...

  6. Java之IO流基础流对象

    输入流和输出流是相对于内存设备而言 即将外设中的数据读取到内存中就是输入    将内存中的数据写入到外设中就是输出   字符流的由来:     其实就是:字节流读取文字字节数据后,不直接操作而是先查指 ...

  7. Java IO流之对象流

    对象流 1.1对象流简介 1.2对象流分类 输入流字节流处理流:ObjectInputStream,将序列化以后的字节存储到本地文件 输出流字节流处理流:ObjectOutputStream 1.3序 ...

  8. java IO之 序列流 集合对象Properties 打印流 流对象

    序列流 也称为合并流. SequenceInputStream 序列流,对多个流进行合并. SequenceInputStream 表示其他输入流的逻辑串联.它从输入流的有序集合开始,并从 第一个输入 ...

  9. Java IO(Properties/对象序列化/打印流/commons-io)

    Java IO(Properties/对象序列化/打印流/commons-io) Properties Properties 类表示了一个持久的属性集.Properties 可保存在流中或从流中加载. ...

随机推荐

  1. npm ip

    npm ip webpack $ ip address var ip = require('ip'); ip.address() // my ip address ip.isEqual('::1', ...

  2. 如何使用 js 实现一个 Promise.all 方法 PromiseAll

    如何使用 js 实现一个 Promise.all 方法 PromiseAll Promise.all PromiseAll https://developer.mozilla.org/en-US/do ...

  3. Next.js & SSR & CSR & SG

    Next.js & SSR & CSR & SG getStaticPaths, getStaticProps, getServerSideProps getStaticPro ...

  4. lightning & web components & templates & slots

    lightning & web components & templates & slots Web components, Custom elements, Template ...

  5. TS type different String / string

    TS type different String / string String / string https://stackoverflow.com/questions/14727044/types ...

  6. NGK数字增益平台中如何分配代币产出

    最近很多朋友听说NGK公链的主网和数字增益平台即将上线以后都纷纷表示非常感兴趣,已经基本了解了NGK代币的产出方式,但还是对代币产出分配的问题不是很明确.今天小编就给大家科普一下,NGK代币在NGK数 ...

  7. ffmpeg中的日志控制、保存日志到指定文件、处理进度查询

    ffmpeg默认就会输出一些日志,包含编译的工具(gcc版本).可用的组件(--enable-xxxx).组件版本号码,如下图 这些信息是默认输出的,每次执行合作都会打印在控制台中,如果不想看这些信息 ...

  8. 自定义Edit 样式 简便写法

    1 <?xml version="1.0" encoding="utf-8"?> 2 <selector xmlns:android=&quo ...

  9. MySQL 常用命令手册 增删改查大法

    一.数据库操作 创建数据库 语法: CREATE DATABASE database_name; 删除数据库 删除数据库务必谨慎!因为执行删除命令后,所有数据将消失. 语法: DROP DATABAS ...

  10. FTP返回值代表含义

    FTP:屏幕信息举例 1.用户要用FTP和远地主机(网络信息中心NIC上的主机)建立连接. 2.本地FTP发出的连接成功信息. 3.从远地服务器返回的信息,220表示"服务就绪". ...