java IO流族

一、IO流的三种分类方式
1.按照流向划分:
输入流:只能从中读取字节数据,不能向其写出入数据
输出流:只能向其写入字节数据,不能从中读取数据
2.按照流所处理的数据类型划分:
字节流:用于处理字节数据。
字符流:用于处理Unicode字符数据。
3.按照格式划分:
节点流(低级流)可以从向一个特定的IO设备(如磁盘,网络)读写数据的流。
处理流(高级流):可以对一个已存在的流的连接和封装,通过所封装的流的功能实现数据读写功能的流。

二、IO流的四大抽象类:
1.常见InputStream类
-低级
InputStream(字节流)
FileInputStream(文件流)
ByteArrayInputStream(数组流)
PipedInputStream(是向与其它线程共用的管道中写入数据)
-高级
DataInputStream(数据流)
BufferedInputStream(缓冲流)
2.常见OutputStream
-低级
OutputStream
FileOutputStream
ByteArrayOutputStream
PipedOutputStream
-高级
DataOutputStream
BufferedOutputStream
3.常见的Reader类
-低级
CharArrayReader
StringReader
PipedReader
FileReader(文件字符流)
-高级
BufferedReader
InputStreamReader
LineNumberReader
4.常见的Writer相关类
-低级
CharArrayWriter
StringWriter
PipedWriter
FileWriter
-高级
BufferedWriter
OutputStreamWriter
PrintWriter
注意
所有高级流都不能直接IO设备(磁盘或网络等)进行直接的交互,必须建立在低级流的基础之上。

三、缓冲流:(提高效率)
BufferedReader -Reader
BufferedWriter
BufferedInputStream -InputStream
BufferedOutputStream
缓冲流输入流 支持其父类的mark()和reset()方法。
mark()方法用于“标记”当前位置,就像加入了一个书签,可以使reset()方法返回这个标记重新读取数据。
BufferedReader -readLine() --以r或n分隔
BufferedWriter -newLine() --写入一个行分隔符
BufferInputStream和BufferedOutputStream平时很少用到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Whitemeen太白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值