公司老板跑路,必须要重新拾起基础,才好出去面
最近就业情况也不好,经济陷入寒冬,很多公司裁员~再不夯实自己,感觉就要转行了= =
做了一年多的java,关于IO流的认识真的是基本没有= = 今天好好了解一波
一.概念
流:流动
IO:输入/输出
就是输入流和输出流,简单的来说就是输入,输出数据的流动。
其实在我刚入行的时候,我个人就觉得程序就是对数据的处理,这也是显而易见的,大家都能悟出来,那么这个时候就非常有必要了解这个东西,看一哈
二:IO流分类
1.数据:
字节流:是二进制的,可以处理一切文件,文本 音频 视频 等等
字符流:文本文件,只能处理纯文本
复制代码
2.功能:节点流——源头数据进入程序的第一步,包含源头数据
处理流——第二步,处理数据 提高传输性能,(增强功能?)
复制代码
三:字符流和字节流(重点)
1.字节流
输入流:InputStream
常用方法:read(byte[] b)
从输入流中读取一定数量的字节,并将其储存储在缓冲区数组 b
复制代码
输出流:OutputStream
常用方法:write(byte[] b)——将b.length 个字节从指定的byte数组写入输入流。
flush() ——刷新此输出流并强制写出所有缓冲 的输出字节
复制代码
2.字符流
输入流:Reader
read(char[] cbuf) 将字符读入数组。
read(char[] cbuf, int off, int len) 将字符读入数组的一部分。
复制代码
输出流:Writer
write(char[] cbuf) 写一个字符数组
clost() flush()
还可以直接写入字符串,参数就是String
复制代码
四.操作
1.读取文件
2.建立与文件的联系
3.选择对应的流
a.决定数组大小
b.读取并写出(read、write)
复制代码
4.释放资源 (flush(),close())