您的位置:首页 > 其它

I/O阶段性小结

2017-08-17 10:58 246 查看

JAVA  I/O流阶段性小结

前提概要:

刚刚接触I/O流的时候是在学校听专业课老师讲课,老师讲的特别简单,当时以为老师讲得简单所以该知识点就不重要,再加上自己当时不怎么喜欢敲代码,所有就放在了一边,到了暑假自己系统学习了才发现I/0特别重要(虽然目前还没怎么应用),所以特地写一个小总结,如有不足之处还请各位大神指出,我定及时改正。

大纲图
1.字节流(InputStream)

功能
构造器参数及如何使用
ByteArrayInputStream
允许将内存的缓冲区当作InputStream使用
缓冲区,字节将从中取出,作为数据源:将其与FilterInputStreamD对象相连以提供有用接口
StringBufferInputStream
 
将String转换成InputStream
字符串,底层实现实际使用StringBuffer.
作为数据源:将其与FilterInputStreamD对象相连以提供有用接口
FileInputStream
 
用于从文件中读取信息
字符串,表示文件名,文件或FileDescriptor对象
作为数据源:将其与FilterInputStreamD对象相连以提供有用接口
PipeInputStream
产生用于写入相关PipedOutputStreamde数据,实现管道化概念
PipedOutputStream
作为多线程中的数据源:将其与FilterInputStreamD对象相连以提供有用接口
SequenceInputStream
 
将两个或多个InputStream对象转换成单一InputStream
 
两个InputStream对象或者一个容纳InputStream对象容器的Enumeration
FilterInputStream
 
抽象类,作为“装饰器”的接口
 
 
2.字节流(OutputStream)

功能
构造器参数及如何使用
ByteArrayOutputStream
在内存中创建缓冲区,所有送往“流”的数据都要放置在此缓冲区
缓冲区初始化尺寸,
用于指定数据的目的地:将其与FilterOutputStream对象相连以提供有用接口
FileOutputStream
 
用于将信息写至文件
字符串,表示文件名,文件或FileDescriptor对象
用于指定数据的目的地:将其与FilterOutputStream对象相连以提供有用接口
PipedOutputStream
任何写入其中的信息都会自动作为相关PipedInputStream的输出,实现管道化概念
PipedInputStream
指定用于多线程的数据的目的地:将其与FilterOutputStream对象相连以提供有用接口
FilterOutputStream
 
抽象类,作为“装饰器”的接口
 
 3.字符流(Reader)

4.字符流(Writer)

虽然说以上4个表列出了很多有关于I/O的知识点,但是有许多我目前还用不到,以后用到了会慢慢补上,接下来就一起来学习一下我们最常用的I/O流。直接上代码-.-

1.字节流读取文件内容

2.字节流写文件

3.字符流读取文件

4.字符流写文件

对比以上代码可以看出,不管是字节流还是字符流,都是以最简单的方法read(),writer().为基础,可以写单个字节(字符),可以读单个字符(字节)。同样也可以读(写)字符(字节)数组。(使用流后要记得关闭)
5.用字符流实现简单的文本复制

6.字节流实现复制功能

字符流其实不仅仅可以实现文本文件的复制,还可以实现压缩文件,图片等文件的复制,具体实现方式就不一一列出,步骤和文本文件的复制差不多
7.缓冲流:简单来说,缓冲流能进一步提高数据的传输速度,其中提供的readline()方法,如果该方法的返回值为null时,就说明到达了文件末尾

还有很多东西没学,目前正在一步一步探索中,以后各种博客会坚持更新,和广大编程爱好者共同进步。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: