java —io流

什么叫io流

io流就是:硬盘里的数据与内存的数据交换的方式。

硬盘数据➡内存数据  的方式叫输入流(InputStream)   这个过程叫做读(Read)

内存数据➡硬盘数据  的方式叫输出流(OutPutStream)这个过程叫做写(Write)

内存为参照物 :

出内存(输出) 进内存(输入) 

io流的分类:


  1. 按照数据流的方向:输入流,  输出流;
  2. 按照数据处理单位:字节流,字符流;
  3. 按照功能:节点流,处理流;


什么是输入流,输出流?


硬盘数据➡内存数据  叫输入流(InputStream)   这个过程叫做读(Read)

内存数据➡硬盘数据  叫输出流(OutPutStream)这个过程叫做写(Write)


什么是字节流与字符流?

读取数据的单位多少 区分 字符流字节流

字节流:一次读取一个字节(byte)// 1byte==8bit  一字节由8个位(一位就是一个二进制数)组成

字节流(万能流)  任何文件都可以采用

字符流:一次读取一个字符(2字节)   //读取文本文件  不能读取视频,音频文件,图片;

Java io api


java.io.InputStream   ---------- 字节输入流

java.io.outputStream  ---------- 字节输出流

java.io.Reader   ------------------字符输入流

java.io.Writer     -------------------字符输出流

abstract class (抽象类) 继承了io的 closeable接口

以Reader结尾是字符输入流的子类

以Writer结尾是字符输出流的子类

用完流需要 close关闭接口;

输出流(input,write)

实现FlushAlbe接口();

flush();方法:清空管道,

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

文件专属:

java.io.FileInputStream

java.io.FileoutputStream

java.io.FileReader

java.io.FileWrite

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

java.io.InputStreamReader

java.io.OutputStreamWriter

缓冲流:

java.io.BufferedReader

java.io.BufferedWriter

java.io.BufferedInputSteam

java.io.BufferedOutputStream

数据专属流:

java.io.dataInputStream

java.io.dataOutStream

标准输出流:

java.io.printWriter

java.io.printStream

对象专属流:

java.io.objectInputStream

java.io.objectOutStream


java.io.fileInputStream  当流不为空的时候需要close()关闭 //避免空指针异常

int read 方法 一个一个字节的读;

file=new FileInputStream("D:\\作业\\111.txt");

        while (true){
            System.out.println(file.read());  //一个字节一个字节的读
            if (file.read()==-1){
                break;
            }

当一个流需要一个参数(一个流)传进来的时候

这个参数就是 节点流;

BufferedInputStream  BufferedOutStream   

构造器需要一个流作为参数 支持mark()reset() 功能

DataInputStream   DataOutStream   :
数据输入流 可以从底层输入流读取 JAVA的原始数据

底层流:InputStream OutPutStream

ObjectInputStream  ObjectOutStream  (可以用方法 返回对象)

printStream   打印流  方便打印出流

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值