IO流中常见的问题

1.IO
1.1 概述
流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。
I:input 输入流
O:output:输出流
1.2 分类
按处理数据类型的不同,分为字节流和字符流
按数据流向的不同分为输入流和输出流。(入和出是相对于内存来讲的)

按功能不同,分为节点流和处理流
节点流:直接操作数据源
处理流:对其他流进行处理
1.3四大抽象类

 1.3.1  InputStream

 1.3.2 OutPutStream

 1.3.3  Reader

 1.3.4  Writer

 


1.4 文件流
1.4.1 FileInputStream
概述: 用来打开文件并读取文件中的数据
想要读取一个文件,就必须先找到它, 就必须用这个文件流
1.绝对位置
以系统根目录为准,比如 D:/xxx/xxx/xxx/a.txt
2.相对位置
./表示当前目录
…/表示上级目录
…/…/上上级目录

常用方法


1.4.2 Read 使用
read:读取一个字节,并返回对应的ASCLL码值,返回为int类型,如果到达文件末尾(读完了)则返回-1
read方法重载:可以传递一个数组,一次读取会把该数组读满/读完,然后一次性返回
返回int类型,为当前读取的个数,如果达到文件末尾 返回-1
数组就相当于是一个缓冲区,效率会有所提升

 

1.4.3 FileReader
概述: FileReader:一次读取一个字符,也就是两个字节,主要用于读取纯文本,解决乱码问题
read():一次读取一个字符,返回对应的ASCLL码,达到末尾返回-1
read(char[]):一次读取一个字符数组,提高读取效率,返回本地读取的字符个数,到达文件末尾返回-1
使用方式

 

 1.5 缓冲流

  特点

  1. 主要是为了提高效率而存在的,减少物理读取次数
  2. 提供readLine()、newLine()这样的便捷的方法(针对缓冲字符流)
  3. 在读取和写入时,会有缓存部分,调用flush为刷新缓存,将内存数据写入到磁盘

5.1 BufferedReader

1.5.2 BufferedWriter

 

 

1.6  转换流

 

 1.7  打印流

 

 1.8   数据流

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值