• 数据流-三流原理


    数据流简介:

    介绍:

    数据的流动,称为流,硬盘和内存之间的数据交互

    流按照方向分,分为输入流和输出流,以内存作参照物,将数据数据源读取到内存,为输入流,也称为读取流。将数据从内存中写入数据源,为输出流,也称为写入流。

    流放在I/O包里

    数据流分类

    --- 分为字节流,字符流和对象流。

    1. 字节流:以字节方式传输,所有类型均能传输
    2. 字符流:只能传输字符串
    3. 对象流:传输对象(json)
      计算机采用二进制。数据的传输都是以字节为单位传输。所以,无论那种流,其本质都是字节流。不过,为了方便字符数据和对象数据的传输,可以在字节流基础上进行封装,形成字符流和对象流,所有的流都使用int类型去接收;
      InputStream和OutputStrem:
      InputStream和OutputStrem是字节流的两个父类,这个两个类是抽象类,提供了read()和write()两个抽象方法;由子类根据自己数据源的特点分别做实现

    流的操作步骤

    1. 建立流

    2. 操作流

    3. 关闭流
      当做文件流操作时,读取流会抛出文件问找到FileNotFoundException异常。写入流会新建文件,但是前提是文件所在目录必须存在。否则也会抛出FileNotFoundException
      创建读取流:
      临时文件——>内存 ——>IO流

      字符流:

      import io     # 导入io模块
      sio = io.StringIO()   # 创建一个对象,进行保存读取
      
      sio.write("hello")    # 写入
      print(sio.getvalue())     # 读取  hello
      
      sio.close()    # close之后内容就没有了
      

      字节流(str+list bytes+bytearray):

      import io
      bio = io.BytesIO()
      bio.write(b"hello")        # 写入
      print(bio.getvalue())      # 读取  b'hello'
      bio.close()      # close
      

      sys模块(流操作) :

      import sys
      
      # 标准输出流
      sys.stdout.write('123
      ')
      
      # 标准输入流
       res = sys.stdin.readline()
       print(res)
      
      # 标准错误流
      sys.stderr.write('opq
      ')
      
      三种流 :  不同种流异步执行!!!
            同种流有执行顺序(争夺cpu 资源)
      
  • 相关阅读:
    mr程序无法输出日志进行调试的解决方法
    2015年度总结
    Hadoop数据目录迁移
    Oracle数据迁移至HBase操作记录
    Hadoop端口一览表
    Hadoop Maven pom文件示例
    十个书写Node.js REST API的最佳实践(下)
    iOS 程序从开发完到上 AppStore 那点事儿
    拿什么拯救你,我的三十五岁
    Spark 以及 spark streaming 核心原理及实践
  • 原文地址:https://www.cnblogs.com/mqhpy/p/12104581.html
Copyright © 2020-2023  润新知