zoukankan      html  css  js  c++  java
  • 数据流

    流:

    简介:

    介绍:	
        * 数据的流动,称为流,硬盘和内存之间的数据交互
        * 流按照方向分,分为输入流和输出流,以内存作为参照物。将数据从数据源读取到内存,为输入流,也称为读取流。将数据从内存中写入数据源,为输出流,也称为写入流。
        * 流放在I/O包里
    

    分类:

    ---  分为字节流,字符流和对象流。
         1. 字节流:以字节方式传输,所有类型均能传输
         2. 字符流:只能传输字符串
         3. 对象流:传输对象(json)
    	
    	计算机采用二进制。数据的传输都是以字节为单位传输。所以,无论那种流,其本质都是字节流。不过,为了方便字符数据和对象数据的传输,可以在字节流基础上进行封装,形成字符流和对象流,所有的流都使用int类型去接收;
    
    InputStream和OutputStrem:
           InputStream和OutpuuStrem是字节流的两个父类,这个两个类是抽象类,提供了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 资源)
    
  • 相关阅读:
    洛谷 P1508 Likecloud-吃、吃、吃
    Codevs 1158 尼克的任务
    2017.10.6 国庆清北 D6T2 同余方程组
    2017.10.6 国庆清北 D6T1 排序
    2017.10.3 国庆清北 D3T3 解迷游戏
    2017.10.3 国庆清北 D3T2 公交车
    2017.10.3 国庆清北 D3T1 括号序列
    2017.10.4 国庆清北 D4T1 财富
    2017.10.7 国庆清北 D7T2 第k大区间
    2017.10.7 国庆清北 D7T1 计数
  • 原文地址:https://www.cnblogs.com/shaozheng/p/12095632.html
Copyright © 2011-2022 走看看