IO流类总结

什么是流?

字节流简单来说就是对一个个文档内容处理

那么你们现在看一篇文章的内容可是大量文字,要是你们手机上的文字一个个显示,你们看得下去吗

肯定不能这么做

那么就会做个缓冲流,将一大段文字进行读取,放在内存,被随时调用

大家看电影是不是经常会发现,等待缓冲,就是说网站的内容被拷贝到本地电脑的临时文件夹收取,然后你们再去查看

那么缓冲流就是将大批的文件放入手机的手机卡

你们看文章看图片,看视频没什么问题的

那么字节流就不适合做这些了,缓冲流就很好了。所以需要套外流

所以手机卡需要大量的空间,否则你们就需要一段时间进行清理

 

字节流:

一、输出流

   1、OutputStream 抽象类

   2、FileOutputStream 字节输出流(直接接文件),假如文件不存在,会自动创建文件,但不会创建目录

   3、BufferedOutputStream 字节缓冲输出流(接字节输出流)

   4、PrintStream 打印流(功能和缓冲字节流一样,方法更多,更常用)

   5、DataOutputStream 数据输出流(写基本数据类型+String)

6、ObjectOutputStream 对象输出流(参数为缓冲流,类要实现序列化接口  7、ByteArrayOutputStream(写数据到内存中的数组里面)

  ****(文件类)8、RandomAccessFile随机读写文件(输入输出流,有指针,可直接接文件)要不停读写硬盘,效率极低

二、输入流

   1、InputStream 抽象类

   2、FileInputStream 字节输入流(直接接文件),文件不存在时会报异常

   3、BufferedInputStram 字节缓冲输入流(接字节流)

   4、DataInputStream(数据输入流)

   5、ObjectInputStream 对象输入流

   6、ByteArrayInputStream读内存中的数组

 

字符流:(抽象类:Reader/Writer)借助字符流读文本文件  不能读mp3或电影文件

一、输出流

   1、FileWriter 文件字符输出流(直接接文件名)采用系统默认编码写数据

2、BufferedWriter 缓冲字符输出流(参数是文件字节输出流),不建议使用

3、PrintWriter 字符打印输出流(功能和缓冲字符输出流一样,但方法更多,后面也是接缓冲字符输出流)允许一次写一行,允许自动刷新

   4、OutputStreamWriter(转换流,字节转字符 参数第一个是字节缓冲输出流,第二个为编码方式)

二、输入流

   1、FileReader 文件字符输入流(直接接文件名)采用系统默认编码读数据

   2、BufferedReader 缓冲字符输入流  参数是字符输入流或转换流,允许一次读一行,带有缓冲区

   3、InputStreamReader 转换流,字节转字符   第一个参数为字节缓冲流,第二个参数设置编码方式

4、StringReader:读字符串

IO流套接例子:

PrintStream ps = new PrintStream(newBufferedOutputStream(new FileOutputStream(file)))

DataOutputStream dos = newDataOutputStream(new BufferedOutputStream(new FileOutputStream(file))

PrintWriter pw = new PrintWriter(newOutputStreamWriter(new FileOutputStream(file,"utf-8"));

BufferedReader br = newBufferedReader(new InputStreamReader(newFileInputStream(file),"utf-8"));

 

最后总结:流的作用不是很明显,因为这是项目中的某个功能,比如上传下载,实际的运用就需要在项目中体现,如果可能会在WEB上作为一个功能实现

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值