IO框架 Input/Output

IO框架:

流:内存与存储设备之间传输数据的通道

流的分类:
按方向分:

​ 输入流:将存储设备中的内容读入到内存中

​ 输出流:将内存中的内容写入到存储设备中

按单位分:

​ 字节流:以字节为单位,可以读写所有数据

​ 字符流:以字符为范围,只能读写文本数据

按功能分:

​ 节点流:具有实际传输数据的读写功能

​ 过虑流:在节点流的基础上增强功能,可以单独存在,但是毫无意义

									字节流
字节输入流:InputStream   //读取
	public int read(){}  //单个读取
	public int read(byte[] b){} //读取多个
	public int read(byte[] b ,int off ,int len){}// 将指定b数组中从偏移量off开始的len个字节写入此												   // 文件输出流
字节输出流:OutpurStream  // 写入
	public void write(int n){} 
	public void write(byte[] b){} 
	public void write(byte[] b ,int off ,int len){}
字节节点流:
	FileOutputStream: public void write(byte[] b) //一次写入多个字节,将b数组中的所有字节写入输出流
	FileInputStream: public int read(byte[] b) // 从流中读取多个字节,将读到的内容存入数组b中,返回											    // 实际读到的字节数,如果到达文件的尾部,则返回-1;字节过滤流:(缓冲流) BufferedOutputStream     BufferedInputStream
	提高IO效率,减少访问磁盘的次数,数据存储在缓冲区内,flush是将缓冲区的内容写入到文件中,也可以直接close
									字符流
字符输入流:Reader   //读取
	public int read(){}  //单个读取
	public int read(char[] c){} //读取多个
	public int read(char[] c ,int off ,int len){}// 将指定c数组中从偏移量off开始的len个字节写入此												   // 文件输出流
字符输出流:Writer   //写入
	public void write(int n){} 
	public void write(String str){} 
	public void write(char[] c){}
字符节点流:  
	FileWriter: public void write(String str) //一次写入多个字符,将数组中的所有字节写入输出流
	FileReader: public int read(char[] c) // 从流中读取多个字符,将读到的内容存入数组c中,返回											    // 实际读到的字节数,如果到达文件的尾部,则返回-1;
字符过滤流:(缓冲流)BufferedWriter   BufferedReader
	支持输入换行符,可一次写一行,读一行
	
PrintWriter: 封装了print(),println()方法,支持写入后换行,支持数据原样打印

字符节点流:(桥转换流) InputStreamReader  OutputStreamWriter
可将字节流转换为字符流,可设置字符的编码方式  OutputStreamWriter osw = new OutputStreamWriter(fos, "GBK")
	使用步骤:
		1. 创建节点流
		2. [创建过滤流,设置字符编码集]
		3. 封装过滤流
		4. 读写数据
		5. 关闭流
对象序列化:把对象转换为字节序列的过程称为对象的序列化。字节序列恢复为对象的过程称为对象的反序列化。
  1. 必须实现Serializable接口
  2. 必须保证其所有属性均可序列化
  3. transient修饰为临时属性,不参与序列化
  4. 读取到文件尾部的标准:java.io.EOFException

File类:代表物理盘符中的一个文件或者文件夹

在这里插入图片描述

FileFilter接口:

​ 当调用File类中的listFile()方法时,支持传入FileFilter接口接口实现类,对获取文件进行过滤,只有满足条件的文件才可出现在listFile()的返回值中

Properties:属性集合

特点:

  1. 存储属性名和属性值
  2. 属性名和属性值都是字符串类型
  3. 没有泛型
  4. 和流有关
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值