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 资源)
    
  • 相关阅读:
    Algs4-2.2.24-改进的有序测试
    Algs4-2.2.23-2比较正文中实现的归并和反向复制辅助数组归并之间的性能
    ssh登录卡住问题
    DELL R730安装ESXI虚拟化
    Linux umount的device is busy问题
    shell脚本调试技巧
    git编译安装
    卸载gitlab
    磁盘性能测试方法
    N! HDU 1042
  • 原文地址:https://www.cnblogs.com/shaozheng/p/12095632.html
Copyright © 2011-2022 走看看