I O 流

IO流

1.缓冲的概念

IO流就是对电脑中的文件(文本,音频,视频,图片)进行读和写的

计算机的cpu通过内存从磁盘上面读取数据,是一个一个自己读取的,然后先存到缓冲内存里面。大概存4kb左右。再进行整次的读取。

  • 读取数据:按照CPU通过内存访问磁盘,读取4kb到缓冲区,再从内存中取出来。

磁盘 -->内存–>通过代码显示数据

  • 写入数据:先把数据写到内存中,然后再从内存写入到磁盘里面

java代码数据–>内存–>磁盘

2.IO流

I:
Input 输入流,从硬盘上面读取数据到内存里面
应用场景:磁盘上有一个1.txt文件,可以将1.txt文件中的内容 读取到java代码中
O:
output 输出流, 从内存中写入到硬盘上面,这叫输出
应用场景:java 代码有一个String类型的数据,将整个String发类型的数据写入到磁盘某一个文件中2.txt
输入流:
分为两种情况:一种是字节输入流和字符输入流
输出流:
分为两种情况:一种是字节输出流和字符输出流

  • 字节输入流:
    InputStream
    直接的子类FileInputStream
    FileInputStream不具备缓冲的效果
    借助于一个叫BufferedInputStream 字节缓冲输入流

  • 字节输出流:
    OutputStream
    直接子类FileOutpuStream
    在java代码里面写一个字符串,写入到磁盘中某一个文件中
    FileOutpuStream没有缓冲,如果想要加缓冲效果,需要加缓冲流 BufferedOutputStream 字节缓冲输入流

  • 字符输入流:
    Reader
    有一个孙子类叫FileReader
    专门处理文本类型的,一个非常方便的类,但是他处理音频视频图片是不行的,有可能出错
    FileReader是不具备缓冲的效果的,BufferedReader 让其具有缓冲效果
    比如磁盘上面有一个文件1.txt 可以将数据读取到内存java代码里面
    int read()
    读一个字符
    int read(char[] cbuf, int off, int len)
    将字符读入数组的一部分
    String readLine()
    读一行文字

  • 字符输出流:
    Writer
    有一个孙子类FileWriter
    FileWriter不具备缓冲效果的,借助于BufferedWriter
    从内存中写入到磁盘

    //遍历读取数据
    int length = -1;
    		while ((length = br.read())!= -1) {
    			System.out.println(length);
    		}
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值