`
吖龙Sam
  • 浏览: 20997 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java中的IO流-IO流体系介绍

    博客分类:
  • Java
阅读更多

工欲善其事,必先利其器。—《论语》
意思是说,工匠要想做好他的工作,必须要先让工具锋利。
这句话告诉我们,要做好一件事情,准备工作是非常重要的。准备功夫做好了,可以事半功倍。

今天我们进入IO流体系的学习,本章主要是对IO流体系作一个入门介绍。只有准备工作做充分了,往后的学习才会水到渠成。

1、流与数据流的概念
流是一个比较抽象的概念,当程序读取数据时,就会开启一个通往数据源的流,这个数据源可以是文件,内存,或是网络连接。同理,当程序需要写入数据时,就会开启一个通向目的地的流。这时候我们就可以想象数据好像是在其中流动,从一端流向另一端。
Java中把这些不同来源和目标的数据都统一抽象为数据流

2、Java中流的分类:
1)按流向分:
输入流:程序可以从中读取数据的流
输出流:程序能向其中写入数据的流

2)按数据传输单位分:
字节流:以字节为单位传输数据的流
字符流:以字符为单位传输数据的流

3)按功能分:
节点流:用于直接操作目标设备的流
过滤流:对一个已存在的流进行包装,以提供更强大和灵活的读写功能

以上是IO流中常用的分类。不用太刻意去记忆,但必须有个了解,有个大概的印象即可。随着学习时间的推移和使用频率的提高,自然而然会理解。

3、Java中IO流的超类
1)字节流超类:
InputStream:字节输入流的超类
OutputStream:字节输出流的超类

字节流传输的单位是字节(8bit)。
InputStream和OutputStream是所有字节流的超类,但它们是抽象类,不能直接使用,需要用它相应的子类来实例化。在Java API中所有以这两个类为后缀名的类均属于字节流。
例如:FileInputStream,FileOutputStream 分别是字节输入流和字节输出流。

2)字符流超类:
Reader:读取字符流的超类
Writer:写入字符流的超类

字符流的传输单位是字符(16bit)。
Reader和Writer是所有字符流的超类,但它们是抽象类,不能直接使用,需要用它相应的子类来实例化。在Java API中所有以这两个类为后缀名的类均属于字符流。
例如:FileReader,FileWriter 分别是读取字符流和写入字符流。

字节流和字符流主要的区别就是它们的处理方式不一样。

4、如何区分输入流和输出流:
这个是重点。记住一个原则,以内存为参考物
1)如果是往内存中输入数据,则使用输入流
2)如果是内存往外写出数据,则使用输出流

5、总结:
本章只是对IO流体系作一个理论性的介绍,这些是为了以后更好的学习IO流做铺垫的。如果读者是刚接触,看起来可能不太好理解,但是随着后面的学习,再回过头来看这篇文章,就会容易理解了。
分享到:
评论

相关推荐

    java-io流-文件流

    Java IO流是Java语言中用于输入/输出操作的基本组件,它提供了多种方式来读取和写入数据,包括文件、网络、内存等。IO流体系可以分为两大类:字节流和字符流。 字节流 字节流是最基本的IO流,用于读取和写入字节...

    586.584.JAVA基础教程_IO流-IO流的体系结构(586).rar

    在Java IO流体系结构中,还有一类特殊的流,叫做转换流(InputStreamReader/OutputStreamWriter),它们位于字节流和字符流之间,负责将字节流转换为字符流,或者反之。 3. 链接流(PipedStream):允许线程间的...

    commons-io-1.4.jar.zip_io流jar

    本文将深入探讨Java的IO流机制,并重点介绍Apache Commons IO库中的`commons-io-1.4.jar`,它为Java的IO操作提供了许多实用的功能。 Java IO流体系结构分为四类:字节流(Byte Stream)、字符流(Character Stream...

    IO流 javaio java 流

    Java中的IO流是Java核心库的重要组成部分,它用于在不同数据源之间传输数据。Java IO流分为两大类:字符流(Character Stream)和字节流(Byte Stream)。字符流处理单个字符,而字节流处理8位的字节序列。它们又...

    Java IO 体系.md

    Java IO 体系 - Java IO 体系 - 传统的 BIO - BIO NIO 和 AIO 的区别 - 什么是流 - 流的分类 - 节点流和处理流 - Java IO 的核心类 File - Java IO 流对象 - 字节流对象 - InputStream - OutputStream -...

    java中IO流例子

    Java中的IO流是Java平台提供的一种处理输入输出数据的核心机制,广泛应用于文件读写、网络通信、数据转换等场景。IO流分为字节流(Byte Stream)和字符流(Character Stream),它们构成了Java IO系统的基础。 1. *...

    《JAVA_IO流学习总结》

    总结来说,Java IO流是一个庞大的体系,覆盖了从基础的文件操作到复杂的网络通信,理解并熟练掌握这一部分将极大地提升Java开发者的技能。通过学习和实践,开发者可以灵活地处理各种数据输入输出场景,为应用程序...

    Java_IO流详解

    Java 中 IO 是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。在项目开发中,IO 是非常基础的部分,在面试当中经常出现。对于初学者而言,IO 部分是容易忽略的内容,求职者一定要掌握该...

    Java 的 IO流笔记.md

    ### Java IO流学习笔记 ...通过以上介绍,我们可以了解到Java中IO流的基础概念、分类以及常用流的使用方法。理解这些内容对于Java开发人员来说非常重要,尤其是在处理文件读写、网络通信等场景时。

    JAVA IO流技术

    Java IO流技术是Java平台中用于处理输入输出的重要机制,其核心在于数据的传输,从数据源到程序或从程序到目的地。在Java中,流分为两大类:输入流(InputStream、Reader)和输出流(OutputStream、Writer)。输入流...

    java基础之IO流

    Java的IO流体系结构是Java开发中非常重要的组成部分,它不仅涵盖了基本的输入输出操作,还提供了高级的并发处理机制。无论是初学者还是经验丰富的开发者,掌握这些基础知识都将极大地提高编写高效、健壮的Java程序的...

    java 使用IO流实现文件的复制

    首先,我们需要了解Java中的IO流体系。Java的IO库基于流的概念,流可以视为数据的序列,可以从源(如键盘、文件)读取到目的地(如显示器、文件)。IO流分为字节流和字符流,字节流处理的是8位的字节数据,而字符流...

    java中的IO流整理

    总结,Java中的IO流体系庞大且功能强大,理解并熟练掌握IO流的使用对于Java开发者至关重要,无论是进行文件操作、网络通信还是数据存储,都能发挥关键作用。通过学习不同类型的流以及它们的应用场景,开发者可以更加...

    Java基础篇:IO流.pdf

    Java IO流是Java编程语言中用于处理输入输出操作的一个重要概念。它允许程序读取数据源或向数据目的地写入数据。Java中的IO流主要分为输入流和输出流两大类,每类又可以根据数据处理方式的不同细分为多种具体实现。...

    JAVA中的IO流简介

    在Java编程语言中,输入/输出...通过以上介绍,我们可以看出,Java中的IO流体系结构设计得非常完善,能够满足各种复杂的数据处理需求。无论是简单的文件读写,还是复杂的网络通信,Java的IO流都能够提供强大的支持。

    JavaIO流详解归纳.pdf

    JavaIO流详解归纳 Java 的核心库 java.io 提供了全面的 IO 接口,包括文件读写、标准设备输出等。Java 中 IO 是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。在项目开发中,IO 是非常...

    java-io流学习总结.doc

    Java IO 流学习总结的主要内容是对 Java 语言中 IO 流的机制和应用进行了详细的介绍,包括流的基本概念、字节流和字符流的区别、IO 体系的基本结构、FileReader 和 FileWriter 的使用、IO 流的应用等等。

    java_io流的处理

    总结而言,Java的I/O流体系庞大且灵活,涵盖了字节流、字符流、对象流、管道流等多种类型,满足了从简单的文件读写到复杂的数据处理的各种需求。理解并熟练掌握这些流的使用,对于任何Java开发者来说都是至关重要的...

    java-io-all-in-one.pdf

    标题《java-io-all-in-one.pdf》表明了本文档是一个全面介绍Java I/O(输入/输出)技术的资料。I/O是计算机系统中非常关键的一部分,特别是在Java语言中,I/O操作是其标准库的重要组成部分。标题中提及了“从零开始...

Global site tag (gtag.js) - Google Analytics