IO流概述
在JAVA中把不同的输入/输出源(键盘、文件、网络等)抽象表述为“流”。
IO流分类
IO流简单体系及用法
字节流和字符流的区别在于数据处理单位的不同。
字节流:一次读或写8位二进制。字节流关于输入和输出的基类有两个。
字符流:一次读或写16位二进制。字符流关于输入和输出的基类有两个。
节点流:程序直接连接到实际的数据源,进行读写。
从/向一个特定的I/0设备(磁盘、网络等)读写数据的流称为节点流,也常被称为低级流。

处理流:又称高级流或包装流,处理流对一个已存在的节点流进行连接,通过封装后的流来进行读写。

Java使用处理流来包装节点流是一种典型的装饰器设计模式。

处理流则对于一个已存在的节点流进行连接或封装,常被称为高级流(装饰器设计模式)。
Java中操作流的类分类

IO流简单体系及用法
按照功能进行API分类:
IO流简单体系及用法
IO流读写
四个步骤:

1、创建文件对象。

2、创建流与文件关联

3、选择读写方式

4、关闭流

IO流读写方式:

1、逐个字节进行读写

2、建立一个字节数组进行读写

3、逐个字符进行读写

4、对字符进行一行一行地读写

【字节输入流】【FileInputStream】
FileInputStream 从文件系统中的某个文件中获得输入字节
用于读取诸如图像数据之类的原始字节流

创建对象
FileInputStream(File file) 通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的 File 对象 file 指定。
FileInputStream(String name) 通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。

调用方法
int read() 从此输入流中读取一个数据字节。 文件末尾返回 -1
int read(byte[] b) 从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。

【字节输出】【FileOutpuStream】
FileOutputStream(String name) 创建一个向具有指定名称的文件中写入数据的输出文件流。
FileOutputStream(String name, boolean append) 创建一个向具有指定 name 的文件中写入数据的输出文件流。
文件不存在:会自动创建
路径不存在:会报错

boolean append: 写入一个文件有哪些情况:
文件不存在:自动创建
路径不存在: 报错
文件存在:完全覆盖:false
往后追加:true

调用方法
void write(int b) 将指定字节写入此文件输出流。
void write(byte[] b) 将 b.length 个字节从指定 byte 数组写入此文件输出流中。
void write(byte[] b, int off, int len) 将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此文件输出流。

【字符输入流】【FileReader】
FileReader :读取文件的方式
FileReader(File file) 在给定从中读取数据的 File 的情况下创建一个新 FileReader。
FileReader(String fileName) 在给定从中读取数据的文件名的情况下创建一个新 FileReader。

【字符输出流】【FileWriter】
FileWriter(String fileName) 根据给定的文件名构造一个 FileWriter 对象。
FileWriter(String fileName, boolean append) 根据给定的文件名以及指示是否附加写入数据的 boolean 值来构造 FileWriter 对象。
文件不存在:会自动创建
路径不存在:会报错

【字节字符转换】【OutputStreamWriter】【InputStreamReader】
OutputStreamWriter 是字符流通向字节流的桥梁
OutputStreamWriter(OutputStream out) 创建使用默认字符编码的 OutputStreamWriter。

相关文章:

  • 2021-08-07
  • 2022-12-23
  • 2021-08-06
  • 2022-12-23
  • 2022-12-23
  • 2021-08-27
  • 2021-12-26
猜你喜欢
  • 2021-06-21
  • 2021-11-22
  • 2021-09-03
  • 2021-09-12
  • 2021-12-18
  • 2021-12-19
  • 2022-01-07
相关资源
相似解决方案