IO流总结


一.字节流

1.写数据

FileOutputStream(String name);底层会调用new File(“”)

调用方法: write()

void write(int b); 一次写一个
void write(byte[] b); 一次写一个字节数组
void write(byte[] b, int off, int len); 一次写一个字节数组的一部分

3. 释放资源: close()

2.读数据

FileInputStream()

read()

1.读一个字节

(char)fis.read()

2.读多个字节

int b;
while ((b = fis.read()) != -1) {
	//System.out.println((char) b); 
	System.out.print((char) b);
}

释放资源: fis.close()

二.字节缓存流

1. BufferOutputStream: 字节缓冲输出流, 构造接收一个字节输出流对象

2. BufferedInputStream: 字节缓冲输入流, 构造接收一个字节输入流对象

三.字符流->编码表+字节流

1.字符输出流 写

构造方法

FileWriter(File对象);
FileWriter(字符串路径);

成员方法

  1. void write(int c); 写一个字符
  2. void write(char[] cbuf); 写一个字符数组
  3. void write(char[] cbuf, int off, int len); 写一个字符数组的一部分
  4. void write(String str); 写一个字符串
  5. void write(String str, int off, int len); 写一个字符串的一部分

flush和close方法

flush(); 刷新流; 刷新后还可以写数据
close(); 关闭流释放资源, 注意关闭前会先刷新流再关闭; 关闭后就不能继续写数据了

字符输入流 读

1. 创建字符输入流对象

FileReader

2. 读数据

读一个

用int接收,读出来为字节,转为char,就是字符

读一窝

2.1 创建字符数组
2.2 定义len表示读到的有效字符个数
2.3 如果没到文件结尾就继续读
2.4 将读到的字符数组作为参数, 构造新的字符串来打印

3.释放资源

四.字符缓存流

BufferedWriter:字符缓冲输出流, 可以高效的写出数据

BufferWriter: void newLine(); 换行

BufferedReader: 字符缓冲输入流, 可以高效的读取数据

BufferReader: void String readLine(); 读一行, 不读取换行符, 到达文件结尾为null

五.转换流

InputStreamReader

字节流 -> 字符流的桥梁, 使用指定的charset将 -> “读到的字节解码为字符”

OutputStreamWriter

字符流 -> 字节流的桥梁, 使用指定的charset将 -> “将字符编码为字节写出”

六.对象操作流

1. 对象序列化流 (对象输出流): ObjectOutputStream(字节输出流)

writeObject(对象名);

2. 2. 对象反序列化流 (对象输入流): ObjectInputStream(字节输入流)

readObject();

七.Properties(性能类)

Properties继承自Hashtable, Hashtable实现了Map接口, 所以Properties本质是一个map集合

	Properties创建时不写泛型, 可以存储任意类型的数据;但是一般我们都存字符串 (键值对都声明为String)

方法

  1. Object setProperty(String key, String value); 设置集合的键和值 (等同于put)
  2. String getProperty(String key); 根据键返回值
  3. Set stringPropertyNames(); 返回一个不可修改的键集, 键和值都是字符串 (等同于keySet)

IO流结合的方法

void load(Reader reader); 从Properties文件读取键值对数据到内存
void store(OutputStream out, String comments); 从内存写键值对数据到Properties文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值