zoukankan      html  css  js  c++  java
  • 流的概念及基本分类

    流的概念:流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流”动一样。

    流的分类:

    • 按数据方向分:输入流和输出流。

    输入流:InputStream/Reader

    输出流:OutputStream/Writer

    • 按数据类型分:字节流和字符流。

    字节流:InputStream/OutputStream

    字符流:Reader/Writer

    下图是常用的IO流:

    • 关于字节流和字符流的区别

    1、字节流读取的时候,读到一个字节就返回一个字节。

    字符流使用了字节流读到一个或多个字节(中文对应的字节是两个,UTF-8码表中是三个)时,先去查指定的编码表,将查到的字符返回。

    2、字节流可以处理所有类型数据,如图片,mp3等。

    字符流只能处理字符数据。

    3、字节流输入流都是以InputStream结尾,字节流输出流都是以OutputStream结尾。在InputStream或者OutputStream前面代表这个流的作用。

    字符流输入流都是以Writer结尾,字符流输出流都是以Reader结尾,相同与字节流前面也是代表这个流的作用。

    实际上字节流在操作的时候本身是不会用到缓冲区的,是文件本身的直接操作的,但是字符流在操作的时候下后是会用到缓冲区的,是通过缓冲区来操作文件的。

    • 使用字节流好还是字符流好呢?

    答案是字节流。首先因为硬盘上的所有文件都是以字节的形式进行传输或者保存的,包括图片等内容。但是字符只是在内存中才会形成的,所以在开发中,字节流使用广泛。

    总结:只要是处理纯文本数据,就要优先考虑使用字符流。除此之外都使用字节流。

  • 相关阅读:
    学生管理系统代写
    学生竞赛评价系统
    《划时代51单片机C语言全新教程》前言
    《划时代51单片机C语言全新教程》第三章 开发环境 概览
    校验和
    NBOOT分析-S3C244xInit.s(1)
    《划时代51单片机C语言全新教程》第一章 8051简介 概览
    《划时代51单片机C语言全新教程》第二章 STC89C52RC 处理器 概览
    ARM9中断调试(1)
    NBOOT分析-NBOOT.c(2)
  • 原文地址:https://www.cnblogs.com/yuyu666/p/9733583.html
Copyright © 2011-2022 走看看