专栏首页IT可乐Java IO详解(二)------流的分类

Java IO详解(二)------流的分类

一、根据流向分为输入流和输出流:

  注意输入流和输出流是相对于程序而言的。

  输出:把程序(内存)中的内容输出到磁盘、光盘等存储设备中

     输入:读取外部数据(磁盘、光盘等存储设备的数据)到程序(内存)中

  综合起来:

二、根据传输数据单位分为字节流和字符流

  上面的也是 Java IO流中的四大基流。这四大基流都是抽象类,其他流都是继承于这四大基流的。

三、根据功能分为节点流和包装流

  节点流:可以从或向一个特定的地方(节点)读写数据。如FileReader.

  处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。如BufferedReader.处理流的构造方法总是要带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接。

 操作 IO 流的模板:

  ①、创建源或目标对象

    输入:把文件中的数据流向到程序中,此时文件是 源,程序是目标

    输出:把程序中的数据流向到文件中,此时文件是目标,程序是源

  ②、创建 IO 流对象

    输入:创建输入流对象

    输出:创建输出流对象

  ③、具体的 IO 操作

  ④、关闭资源

    输入:输入流的 close() 方法

    输出:输出流的 close() 方法

注意:1、程序中打开的文件 IO 资源不属于内存里的资源,垃圾回收机制无法回收该资源。如果不关闭该资源,那么磁盘的文件将一直被程序引用着,不能删除也不能更改。所以应该手动调用 close() 方法关闭流资源

最后这是 Java IO 流的整体架构图,下面几篇博客将会详细讲解这些流:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 深入理解计算机系统(1.1)------Hello World 是如何运行的

      上一篇序章我谈了谈 程序员为啥要懂底层计算机结构 ,有人赞同也有人反对也好,这都是博主的个人见解,但是博客还是要坚持学下去。这篇博客以案例驱动的模式,通过跟...

    IT可乐
  • Ajax 的用法

    1、什么是 Ajax?   Ajax,英文名 Asynchronous JavaScript and XML,也就是异步的 JavaScript 和 XML。它...

    IT可乐
  • JDK1.8源码(十一)——java.util.TreeMap类

      在前面几篇博客分别介绍了这样几种集合,基于数组实现的ArrayList 类,基于链表实现的LinkedList 类,基于散列表实现的HashMap 类,本篇...

    IT可乐
  • SWF运行时判断两个DisplayObject是否同个类型,属于flash professional库中的同一个元件

    用户1258909
  • 视频三巨头的海外战事

    近日腾讯宣布在泰国上线视频流媒体服务“WE TV”,这是腾讯视频出海的第一站,“WE”也是腾讯业务出海的核心品牌,如WeChat。

    罗超频道
  • 世界那么大,不当睁眼瞎!这个小程序,带你轻松完成出国游

    知晓君
  • 平面三节点三角形常应变单元有限元程序算例

    如图所示,平板受集中力作用,划分2个三角形单元,分别用自编程序和ANSYS计算节点位移及单元应力。 ? ANSYS计算结果: ? ? 自编程序计算结果: ? ...

    fem178
  • C++ 字符串分割

        java和C#中字符串都可以使用split进行分割,但是C++中却没有这个方法,之前总是自己写一个函数自己进行分割,倒也不麻烦,今天在网上找了类似的函数...

    用户1215536
  • WordPress 网站开发“微信小程序”实战(三)

    本文是“WordPress 开发微信小程序”系列的第三篇,本文记录的是“DeveWork极客”小程序1.2 版本的开发要点。建议先看完第一篇、第二篇再来阅读本文...

    Jeff
  • freeRTOS-&OpenRTOS-&SafeRTOS

    在很早之前我们就曾在公众号里给大家介绍过freeRTOS,并且还介绍过在NXP kenitis KV46上的移植,相信很多猿友应该还有印象,freeRTOS因其...

    用户1605515

扫码关注云+社区

领取腾讯云代金券