IO流的基本概念:

流的原理:



1) 在 Java 程序中,对于数据的输入/输出操作以“流”

(stream) 方式进行;

2) J2SDK 提供了各种各样的“流”类,用以获取不同种类的

数据;程序中通过标准的方法输入或输出数据。

3) Java 的流类型一般位于 java.io 包中

流的概念:

数据源:

  1. data source. 提供原始数据的原始媒介。常见的:数据库、

    文件、其他程序、内存、网络连接、IO 设备。

  2. 数据源就像水箱,流就像水管中流着的水流,程序就是我

    们最终的用户。 流是一个抽象、动态的概念,是一连串

    连续动态的数据集合



    流的分类

    一.按流的方向分:

    1. 输入流:数据源到程序(InputStream、Reader 读进来)
    2. 输出流:程序到目的地(OutPutStream、Writer 写出去)**

    二,按处理数据单元分:

    1. 字节流:按照字节读取数据(InputStream、OutputStream)
    2. 字符流:按照字符读取数据(Reader、Writer)

      注意: 输入输出是相对于程序而言,而不是相对于源和目标而言

三,按功能不同:

  1. 节点流:可以直接从数据源或目的地读写数据。
  2. 处理流(包装流):不直接连接到数据源或目的地,是其他

    流进行封装。目的主要是简化操作和提高性能.

字节流和数据流的关系:

  1. 节点流处于 io 操作的第一线,所有操作必须通过他们进行;
  2. 处理流可以对其他流进行处理(提高效率或操作灵活性).

四大抽象类:

InputStream 和 和 OutputStream

Reader和Writer

Java修炼——IO流的概念以及其分类的更多相关文章

  1. java IO流的概念与分类

    DataInputStream && ObjectInputStream 示例 https://blog.csdn.net/hoho_12/article/details/520543 ...

  2. Java 的 IO 流

    接着上一篇的 “Java 的 File 类” 的随笔,在File类的基础上,我们就走进Java的IO流吧. 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在 ...

  3. Java的IO流以及输入流与输出流的异同

    一:流的基本概念:           Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.J ...

  4. java的IO流

    java的IO流继承四大抽象类分别是字节流 inputStream outputStream与字符流 read write.怎么理解记忆很重要. 直接连接读写对象的是结点流,例如对文件读取字节类的名字 ...

  5. Java基础——IO流

    今天刚刚看完java的io流操作,把主要的脉络看了一遍,不能保证以后使用时都能得心应手,但是最起码用到时知道有这么一个功能可以实现,下面对学习进行一下简单的总结: IO流主要用于硬板.内存.键盘等处理 ...

  6. 【Java】IO流简单分辨

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5827509.html Java的IO流体系十分庞大,并且体系层次稍复杂,很容易记混或记错.在此,我把平时经常用 ...

  7. Java - 文件(IO流)

    Java - 文件 (IO)   流的分类:     > 文件流:FileInputStream | FileOutputStream | FileReader | FileWriter     ...

  8. Java中IO流的总结

    有关Java中IO流总结图 流分类 按方向分 输入流 输出流 按单位分 字节流 字符流 按功能分 节点流 处理流(过滤流) 其他 所有的流继承与这四类流:InputSteam.OutputStream ...

  9. JAVA中IO流总结

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42119261 我想你对JAVA的IO流有所了解,平时使用的 ...

随机推荐

  1. Git连接GitHub仓库详解

    [Annotation]本文将从标题八开始,因为前七个标题是关于Git的基本操作,如果对Git的基本操作不了解的话,可以点击下方链接先看一下Git怎么使用. 关于Git的详细使用 八:创建SSH Ke ...

  2. C语言I博客作业08

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 作业 我在这个课程的目标是 熟悉使用while和do-while结构解决问题 这个作业在那个具体方面帮助我实现目标 pta题目及查找的资料 ...

  3. Python 基础 面向对象之二 三大特性

    Python 基础 面向对象之二 三大特性 上一篇主要介绍了Python中,面向对象的类和对象的定义及实例的简单应用,本篇继续接着上篇来谈,在这一篇中我们重点要谈及的内容有:Python 类的成员.成 ...

  4. Ansible之templates模板

    一.jinja2简介解 Jinja2是Python下一个被广泛应用的模版引擎,他的设计思想来源于Djanjo的模板引擎,并扩展了其语法和一系列强大的功能.ansible的模板配置文件就是用jinja2 ...

  5. C# Web分页功能实现

    无论是网站还是APP分页功能都是必不可少的.为什么使用分页呢? 1,加载速度快,不会占用服务器太多资源,减少服务器压力. 2,减少数据库压力. 3,提升用户体验. 那么我们常用的分页方法有两种. 1, ...

  6. pip install xxx Could not fetch URL https://pypi.org/simple/pip/

    Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirmingthe ssl certificate: ...

  7. 【Leetcode 做题学算法周刊】第四期

    首发于微信公众号<前端成长记>,写于 2019.11.21 背景 本文记录刷题过程中的整个思考过程,以供参考.主要内容涵盖: 题目分析设想 编写代码验证 查阅他人解法 思考总结 目录 67 ...

  8. 反汇编objc分析__block

    "You can specify that an imported variable be mutable—that is, read-write— by applying the __bl ...

  9. flex盒子布局

    看过很多对于弹性盒子flex的简介,但还是觉得阮一峰大神的解析和张鑫旭大神(旧版flex)的解析比较容易理解,下面,我以自己的理解来叙述关于flex弹性布局! 1.概念(容器和项目) 在flex中,有 ...

  10. pycharm的安装流程

    以windows版本举例: 1.首先去Pycharm官网,或者直接输入网址:http://www.jetbrains.com/pycharm/download/#section=windows,下载P ...