Java之IO流

read
input
inputStream

write
output
outputStream

IO流的分类:

1.按照流的方向,以内存为参照物,往内存中去,叫做输入,或者读,从内存中出来,叫做输出,或者写。
2.按照读取数据方式,按字节方式读取数据,一次一个字节,这种流万能,什么类型的文件都可以读取;按照字符方式读取数据,一次一个字符,这种是为了方便读取普通文本文件存在的,只能读取文本文件,不能读取:图片声音视频等,word也不行。
按字符流读 file.txt : a总daj
第一次读:‘a’ (Windows占一个字节)
第二次读:’总‘(Windows占两个字节)

综上:流的分类

输入流 输出流
字节流 字符流

java IO流这块有四大家族:

java.io.IuputStream 字节输入流
java.io.OutputStream 字节输出流
java.io.Reader 字符输入流
java.io.Writer 字符输出流
注意:在Java中只要类名以Stream结尾的都是字节流,以reader/writer结尾的都是字符流

四大家族首领都是抽象类

1.所有的流都实现了 closeable,都是可关闭的,都有close()方法,流用完之后一定要关闭,不然会占用很多资源。

2.所有的输出流都实现了flushable,都是可刷新的,都有flush()方法,输出流在最终输出之后,一定要记得flush()刷新一下,这样会将管道当中剩余未输出的数据强行输出完(清空管道)。如果没有flush,可能会导致丢失数据。

java.io包下需要掌握的流有16个:

文件专属:
FileInputStream
FileOutputStream
FileReader
FileWriter

转换流:(将字节流转换成字符流)
InputStreamReader
OutputStreamWriter

缓冲流专属:
BufferedReader
BufferedWriter
BufferedInputStream
BufferedOutputStream

数据流专属:
DataInputStream
DataOutputStream

标准输出流:
printWriter
printStream

对象专属流:
ObjectInputStream
ObjectOutputStreamt

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值