IO流学习-02

IO流:

   判断使用输出流还是输入流:

       以当前程序作为参照物观察数据流向,如果需要数据流入当前程序则使用输入流,如果需要数据流出当前程序则使用输出流。

   按照处理的单位可划分为:

        字节流:字节流获取的是文件的二进制数据,读取到的二进制数据不会做任何处理。


        字符流:字符流也是读取文件中的二进制数据,不过会把这些二进制数据转换成我们能识别的字符。

输入字节流:

      InputSream  所有输入字节流的基类 是个抽象类

         |——FileInputStream   读取文件数据的输入流

                |——BufferInputStream  缓冲输入字符流不推荐使用  其内部只不过维护了一个8kb的字节数组,没有读取文件的能力需要传入FileInputStream对象

   使用FileInputStream读取数据的步骤:

     1.找到目标文件

      File file=new File(“f:\\a.txt”);

     2.建立数据的输入通道

      FileInputStream fileInputStream=new FileInputStream(file);          

     3.读取文件中的数据

      注:这里我们使用缓冲数组读取,效率高!!

      int length=0;用来接收读到的字节数

      byte[] buf=new byte[1024]; 用来存贮读到的数据

     注:数组容量一般为1024的倍数,这与计算机的处理单位有关
      while((length=fileInputStream.read(buf))!=-1){

          注:使用FileInputStream类中的read方法读取,读到的

        内容都放在buf数组中,并返回读取到字节数;若读到了末

        尾则返回-1表示。可通过操作buf数组来实现相应的操作。

      }

      4.关闭资源(关闭通道即可)

        fileInputStream.close();

        注:资源在使用完毕后应马上释放,否则其他的程序无法对该资源文件进行其他的操作。

        注:在使用缓冲数组时每一次读取采用覆盖原数组内容的方式存储。因此需要用length变量来记录每次读到的字节数。

下一节输出字节流
每天学习一点点 未来爱你多一点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值