美文网首页
Java I/O在Android中应用

Java I/O在Android中应用

作者: Dalvik_ | 来源:发表于2021-08-19 21:51 被阅读0次

    1.Java I/O概要设计

    • 所有的操作都是针对内存来的(角度内存):读入 写出


      I/O操作嵌套示例
    • 装饰模式之Android源码


      android中的装饰模式
    装饰模式
    • Component:抽象构建接口

    • ConcreteComponent:具体的构建对象,实现组 件对象接口,通常就是被装饰的原始对象。就对这个对象添加功能。

    • Decorator:所有装饰器的抽象父类,需要定义 一个与组件接口一致的接口,内部持有一个Component对象,就是持有一个被装饰的对象。

    • ConreteDecoratorA/ConreteDecoratorB:实际 的装饰器对象,实现具体添加功能。熟悉UML图 的基本就明白了,但是像我这样不熟悉的还是 写一点我们熟悉的代码描述吧。

    • IO中的装饰器模式


      IO中的装饰器模式
    • 字节流


      字节流的学习
    • 字符流


      字符流
    • 1:如果只用FileOutputStream fileOutputStream = new FileOutputStream("d:/text.txt"); 不是也能输出到"d:/text.txt"吗?为什么要用其它两个呢?能起到什么作用呢?
      答案:
      FileOutputStream :是字节流,它一个字节一个字节的向外边送数据 OutputStreamWriter:是字符流,它一个字符一个字符的向外边送数据

    • 2:它们有什么区别么?
      答案:
      因为计算机是洋鬼子发明的,它们的英文字符占一个字节,而我们的中文是一个字符,至少占俩字节。 如果用stream,你读出来的英语再倒也罢了,读出来的中文可就是乱码或者一个个“????”。 如果你用WRITER,就不会有乱码了

    • 3:BufferedWriter Buffer是一个缓冲区,为什么要用BUFFER呢?
      答案:
      如果你直接用stream或者writer,你的硬盘可能就是读一个字符或者一个字节 就去读写 硬盘一次,IO负担巨大。可是你用了Buffer,你的硬盘就是读了一堆数据之后,读写一下硬 盘。这样对你硬盘有好处。

    • RandomAccessFile (主要用来实现断点续传)


      RandomAccessFile
    • RandomAccessFile特点和优势


      RandomAccessFile特点和优势
    • NIO——FileChannel
      Channel是对I/O操作的封装。
      FileChannel配合着ByteBuffer,将读写的数据缓存到内存中,然后以批量/缓 存的方式read/write,省去了非批量操作时的重复中间操作,操纵大文件时可 以显著提高效率(和Stream以byte数组方式有什么区别?经过测试,效率上几 乎无区别)。

    相关文章

      网友评论

          本文标题:Java I/O在Android中应用

          本文链接:https://www.haomeiwen.com/subject/zzmnbltx.html