缓冲流、转换流、序列化流、打印流
第一章 缓冲流
缓冲流,也叫高效流,按照数据类型分类:
- 字节缓冲流:BufferedInputStream,BufferedOutputStream
- 字符缓冲流:BufferedReader,BufferedWriter
缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。
字节缓冲流
构造方法
- public BufferedInputStream(InputStream in) :创建一个 新的缓冲输入流。
- public BufferedOutputStream(OutputStream out): 创建一个新的缓冲输出流。
字符缓冲流
构造方法
- public BufferedReader(Reader in) :创建一个 新的缓冲输入流。
- public BufferedWriter(Writer out): 创建一个新的缓冲输出流。
特有方法
- BufferedReader:public String readLine(): 读一行文字。
- BufferedWriter:public void newLine(): 写一行行分隔符,由系统属性定义符号。
第二章 转换流
InputStreamReader类
转换流java.io.InputStreamReader,是Reader的子类,是从字节流到字符流的桥梁。它读取字节,并使用指定的字符集将其解码为字符。
构造方法
- InputStreamReader(InputStream in): 创建一个使用默认字符集的字符流。
- InputStreamReader(InputStream in, String charsetName): 创建一个指定字符集的字符流
OutputStreamWriter类
转换流java.io.OutputStreamWriter ,是Writer的子类,是从字符流到字节流的桥梁。使用指定的字符集将字符编码为字节。
构造方法
- OutputStreamWriter(OutputStream in): 创建一个使用默认字符集的字符流。
- OutputStreamWriter(OutputStream in, String charsetName): 创建一个指定字符集的字符流。
第三章 序列化
Java 提供了一种对象序列化的机制。用一个字节序列可以表示一个对象,该字节序列包含该对象的数据、对象的类型和对象中存储的数据等信息。字节序列写出到文件之后,相当于文件中持久保存了一个对象的信息。
反之,该字节序列还可以从文件中读取回来,重构对象,对它进行反序列化。对象的数据、对象的类型和对象中存储的数据信息,都可以用来在内存中创建对象。
ObjectOutputStream类
java.io.ObjectOutputStream 类,将Java对象的原始数据类型写出到文件,实现对象的持久存储。
构造方法
public ObjectOutputStream(OutputStream out): 创建一个指定OutputStream的ObjectOutputStream。
序列化操作
- 一个对象要想序列化,必须满足两个条件:
- 该类必须实现java.io.Serializable 接口,Serializable 是一个标记接口,不实现此接口的类将不会使任何状态序列化或反序列化,会抛出NotSerializableException 。
- 该类的所有属性必须是可序列化的。如果有一个属性不需要可序列化的,则该属性必须注明是瞬态的,使用transient 关键字修饰。
ObjectInputStream类
ObjectInputStream反序列化流,将之前使用ObjectOutputStream序列化的原始数据恢复为对象。
构造方法
public ObjectInputStream(InputStream in): 创建一个指定InputStream的ObjectInputStream。
反序列化操作
public final Object readObject () : 读取一个对象。
第四章 打印流
PrintStream类
构造方法
public PrintStream(String fileName): 使用指定的文件名创建一个新的打印流。
PrintStream ps = new PrintStream("ps.txt");
缓冲流、转换流、序列化流、打印流相关推荐
- JavaSE(字符流、IO资源的处理、属性集、ResourceBundle工具类、缓冲流、转换流、序列化、打印流、装饰设计模式、commons-io工具包)
JavaSE 字符流 字符输入流[Reader] 字符输入流Reader类的概述 字符输入流Reader类的常用方法 FileReader类 FileReader类的概述 FileReader类的构造 ...
- Java基础19:IO流—缓冲流、转换流、序列化、打印流、压缩流和解压流
IO流中的一些其他流:缓冲流.转换流.序列化.打印流.压缩流和解压流 1. 缓冲流 IO流除了一些基本的流,还有在此基础上发展出来的一些更强大的流.比如能够高效读写的缓冲流,能够转换编码的转换流,能够 ...
- Java基础-9(缓冲流,转换流,序列化,打印流,TCP通信程序)
51.缓冲流 概述 缓冲流,也叫高效流,是对4个基本的FileXxx 流的增强,所以也是4个流,按照数据类型分类: 字节缓冲流:BufferedInputStream,BufferedOutputSt ...
- Java笔记整理六(File类,递归,字节流IO,字符流IO,流中的异常处理,属性集Properties,缓冲流,转换流,序列化,打印流)
1.File类 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. 文件和目录路径名的抽象表示 java把文件和文件夹封装位为一个File类,我们可 ...
- 【02】Java进阶:13-IO资源的处理、属性集、缓冲流、转换流、序列化、打印流、装饰设计模式、commons-io工具包
day13[Properties类.缓冲流.转换流.序列化流.装饰者模式.commons-io工具包] 今日内容 IO异常处理 Properties类 缓冲流 转换流 序列化\反序列化流 打印流 装饰 ...
- 【java笔记】字符流,Properties,序列化,打印流
字符流 字符流=字节流+编码 package demo04;import java.io.FileInputStream; import java.io.FileNotFoundException; ...
- stream流去除对象的值_I/O流(过滤流、对象序列化、字符流)
过滤流基础 Data Stream 首先我们来介绍一对过滤流:DataInputStream 和 DataOutputStream.这两个类有什么作用呢?首先来思考下面的需求:假设,要把一个 doub ...
- 缓冲流、转换流、序列化流和打印流
Java 一.缓冲流 1.1 概念 1.2 原理 1.3 字节缓冲流 1.3.1 构造方法 1.3.2 使用高效字节流进行文件复制 1.4 字符缓冲流 1.4.1 构造方法 1.4.2 字符缓冲流特有 ...
- 【Java基础】Java IO编程:输入输出流、内存流、打印流、缓冲流BufferedReader、扫描流Scanner、序列化与反序列化
文章目录 第11章.Java IO编程 11.1 文件操作类:File 11.2 字节流与字符流 字节输出流:OutputStream OutputStream类 FileOutputStream类 ...
- 第十五章 IO流(转换流 字符流 字符缓冲流 打印流)
Java基础15 第十五章 IO流(转换流 字符流 字符缓冲流 打印流) 15.1 字符编码和字符集 15.1.1 字符编码 15.1.2 字符集 15.1.3 String类getBytes()方法 ...
最新文章
- python变量类型-python变量的数据类型有哪些?
- java 鉴权_我爱java系列之---【JWT实现微服务鉴权(一)】
- oracle高资源消耗sql,oracle 中如何定位重要(消耗资源多)的SQL
- centos 7 mysql随机密码_在centos中安装了mysql5.7之后解决不知道随机的密码的问题...
- Spring配置项context:annotation-config/解释说明
- (Portal 开发读书笔记)PortletFileUpload
- Linux上对图片进行压缩
- 用GSON 获取JSON数组属性
- mesh gradient的求法
- oracle中插入一个blob数据
- optistruct学习
- Python3从零开始搭建一个语音对话机器人
- 基于CC2430的基础实验4-----定时器中断
- 钢铁行业超低排放的前生今世
- 中国曲谱网爬虫研究(Python)
- Notes from Google Play | Google Play 持续助力您的应用和游戏
- xmanager登陆linux黑屏,用xmanager软件登陆linux的方法
- 百分制转五分制(java)
- C 常數0L,0LL,0UL,0.0f,0.0L
- springboot 集成 RabbitMQ confirm 确认模式和 return 回退模式以及Consumer Ack模式
热门文章
- ABAP几种内表的操作
- 29、Power Query-分支语句的进阶
- windows不能改密码
- 巴奴与海底捞的战争背后,“单品即品牌”战略到底香不香?
- 普宁二中高考2021成绩查询,普宁二中2019高考喜报成绩、本科重本上线人数情况...
- android服务绑定音乐播放器,Android开发【04-21求助贴】使用后台服务的音乐播放器...
- 单页面axios_Axios封装之取消重复请求和接口缓存
- java线程概念_《Java基础知识》Java线程的概念
- 卡顿严重_王者峡谷:S20出现bug?卡顿十分严重
- 【python教程】IO文件操作的常见用法