zoukankan      html  css  js  c++  java
  • 什么是IO流 以及文件输入输出

    一、IO流的分类:

    流按照操作数据的类型分为两种:字节流;字符流。

      1.什么是字节流:读取的是文件的二进制数据,不会对二进制做处理,不会解析成看得懂的数据。

      2.什么是字符流:读取的是文件的二进制数据,他会将二进制数据转转换成我们能识别的字符(解码),字符流是以字符为单位的。

     总结(字符流 = 字节流 + 解码);

       3.流按照流的方向分为:输入流和输出流。

    如何判断输入和输出:以当期的应用程序为参考,观察数据是流入和流出,如果是流入就是输入。如果是流出就是输出。

    二、字节流输入流:

      InputStream:此抽象类是表示字节的输入流的所以类的超类,也是抽象类。  

      使用的是InputStram的子类:FileInputStram。

    三、FileInputStram使用步骤以及几个方式来创建和获取:

    read:只获取第一个字节          close():关闭资源      

     方法一:每次只读取一个字节

      1.查找目标文件

      2.建立通道

      3.读取数据

      4.关闭资源(释放资源)  

    方法二:用循环读取数据提示循环的速度太慢

      1.查找目标文件

      2.建立通道

      3.for读取数据

      4.关闭资源(释放资源)  

    方法三:建立缓存区来读取数据 缺点不能够读取一个完整的文件 

      1.查找目标文件

      2.建立通道

      3.创建一个缓存区

      4.读取数据

      5.关闭资源(释放资源)

    方式四:建立缓存区和循环的方法来读取

      1.查找目标文件

      2.建立通道

      3.创建一个缓存区

      4.for或者(while)读取数据

      5. 关闭资源(释放资源)   

    四、字节流输出流:

     1. OutputStram:他也是所以字节输出流的超类,也是一个抽象的类,使用子类FileOutputStram 文件输出流

     2. FileOutputStram 使用步骤

      1.找到目标文件

      2创建通道

      3.写数据

      4.关闭资源

    3. FileOutputStram的使用注意事项:

      1.使用FileOutputStram写数据的时候,如果目标文件不存在,那么就会自己创建一个目标文件对象。

      2.使用FileOutputStram写数据的时候,如果目标文件存在,那么就会先将里面的内容清空在把数据写入。

      3. 使用FileOutputStream写数据的时候,如果目标文件存在,想将数据在原有的基础上追加,这个时候就应该使FileOutputStream(File file, boolean append) 构造方法,  append如果为true表示可以追加数据,反之不信

      4.使用FileOutputStram写数据的时候,用write(int a)方法来写数据,虽然接收的是int,但实际只有一个字节的数据操作的是第八位的二进制,其他的24位全部不要。

     

     

  • 相关阅读:
    android studio 模拟器控制台发送短信和定位
    android获取超级权限
    android拦截获取别人发送过来的短信
    stackflow看到的获取手机联系人 contact 的代码
    surfaceview绘制矩形 drawRect
    Dialog自定义setView按钮点击没反应
    腾讯移动端性能测试利器PerfDog使用
    Mac下第一个Python程序:HelloWorld
    Mac 系统下安装 PyCharm 的实践
    如何用Chrome浏览器打开Axure原型的start.html文件
  • 原文地址:https://www.cnblogs.com/liu2816350343/p/6134756.html
Copyright © 2011-2022 走看看