`
阅读更多
什么是IO
--------------------------------------------------------------------------------
  IO(Input/Output)是计算机输出/输出的接口。Java的核心库java.io提供了全面的IO接口,包括:文件读写,标准设备输出等等。Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。此外,Java也对块传输提供支持,在核心库java.nio中采用的便是块IO。关于NIO我们在后面还有专门的讨论。
  流IO的好处是简单易用,缺点是效率较低。块IO效率很高,但编程比较复杂。

Java IO模型
--------------------------------------------------------------------------------
  Java的IO模型设计非常优秀,它使用Decorator模式,按功能划分Stream,您可以动态装配这些Stream,以便获得您需要的功能。例如,您需要一个具有缓冲的文件输入流,则应当组合使用FileInputStream和BufferedInputStream。
  Java的IO体系分Input/Output和Reader/Writer两类,区别在于Reader/Writer在读写文本时能自动转换内码。基本上,所有的IO类都是配对的,即有XxxInput就有一个对应的XxxOutput。

Java IO教程
--------------------------------------------------------------------------------
  如果您对Decorator模式非常了解,就能轻易地看出Java的IO类结构:根接口是InputStream/OutputStream,充当数据源的IO类有FileInputStream/FileOutputStream,ByteArrayInputStream/ByteArrayOutputStream等,充当装饰功能的IO类有BufferedInputStream/BufferedOutputStream,DataInputStream/DataOutputStream等,它们都是继承装饰接口FilterInputStream/FilterOutputStream。使用IO时,首先创建一个数据源IO,然后根据需要的功能创建装饰类IO,其构造函数的参数为已创建的数据源IO。我们以创建一个具有缓冲的文件输入流为例,假定需要从磁盘读取文件“C:\log.txt”:

// 创建一个FileInputStream:
FileInputStream fileInput = new FileInputStream("C:\\log.txt");
// 创建一个BufferedInputStream:
BufferedInputStream bufferedInput = new BufferedInputStream(fileInput);
// 现在得到的bufferedInput即是具有缓冲的文件输入流

  或者进一步简写如下:

InputStream input = new BufferedInputStream(
    new FileInputStream("C:\\log.txt"));
// 现在得到的input即是具有缓冲的文件输入流

  在您对Java的IO有了总体了解后,我们推荐您看看教程Introduction to Java I/O和I/O: Reading and Writing。

Java NIO编程
--------------------------------------------------------------------------------
NIO提供了对块IO的支持,使用块IO的好处是效率更高,而且Java的NIO将直接调用操作系统提供的许多高级IO接口,支持块传输,读写锁定,异步IO等功能,效率非常高。NIO的编程模型是通道和缓冲区,推荐您阅读Getting started with new I/O(中文)。
分享到:
评论

相关推荐

    Java IO 编程集合

    Java IO编程是Java平台中处理输入输出操作的重要组成部分,它提供了丰富的类库,使得开发者能够高效地进行数据的读取、写入、流的管理和转换。在这个集合中,我们主要探讨的是Java IO在文件读写方面的实践应用。 一...

    Java-Java IO编程教程

    Java IO编程是Java开发中的重要组成部分,它负责处理输入(Input)和输出(Output)数据。在Java中,IO操作涉及到文件读写、网络通信、数据流管理等多个方面,是程序与外部世界交互的关键技术。本教程将通过视频形式...

    java IO 编程实例

    总结一下,Java IO编程实例展示了如何利用`FileReader`类读取文本文件。通过理解流的分类、特性及其在Java中的应用,我们可以更有效地处理程序的输入/输出需求。无论是处理文件、网络数据还是内存中的数据,Java IO...

    java io案例

    Java IO(输入/输出)是Java编程语言中的一个重要部分,用于处理各种数据流,包括从文件、网络、设备等读取数据以及向这些地方写入数据。本案例将深入探讨Java IO流的基本概念、主要类库及其在实际编程中的应用。 ...

    Java-IO.rar_java IO

    这两个知识点都是Java IO编程的基础,也是开发过程中常见的操作。熟悉并掌握它们对于任何Java开发者来说都是非常重要的。通过不断实践和理解这些基本概念,可以为更高级的IO操作和复杂的数据处理奠定坚实的基础。

    第一行代码Java源代码第11章课程代码JavaIO编

    Java IO编程是Java开发中的重要组成部分,特别是在处理输入和输出数据时。《第一行代码》是一本非常受欢迎的编程入门书籍,它以易懂的方式介绍了Java编程的基础知识。在第11章,作者深入讲解了Java IO系统,帮助读者...

    java io技术精髓

    6. **异常处理**在Java IO编程中非常重要,因为数据的输入输出可能会出现各种问题,如文件未找到、权限不足等,因此需要妥善处理IOException。 7. **关闭流**是IO操作的重要步骤,确保在使用完流之后释放资源,避免...

    Java IO应届生培训讲义

    Java IO(输入/输出)是Java编程中用于处理数据流和实现数据读写的API集合。Java IO应届生培训讲义是一份面向刚毕业的大学生进行Java IO相关知识的培训资料,它涵盖了Java IO的基础知识、不同的IO模型以及Java中的...

    Java IO知识点

    Java IO(Input/Output)是Java编程语言中用于处理输入输出操作的重要部分,涉及文件、网络、内存等数据传输。本文将深入探讨Java IO的基本概念、分类、选择流的策略以及常用的流类型。 首先,File类是Java IO的...

    java io 结构图

    Java IO(Input/Output)是Java编程语言中用于处理输入和输出操作的重要组成部分。它提供了一整套类库,使得开发者能够有效地读取和写入数据到不同的源和目标,如文件、网络、内存缓冲区等。Java IO体系结构设计得...

    Java IO_NIO

    Java IO(Input/Output)是Java编程语言中用于处理输入输出操作的基础框架,它提供了丰富的类库,使得程序能够与各种设备、文件、网络进行数据交互。然而,传统的IO模型在处理大量并发连接时表现出效率较低的问题,...

    Java IO处理类的汇总

    本篇文章将全面解析Java IO处理类,包括基本概念、常用类库、流的概念及分类,以及实际编程中的应用。 首先,Java IO体系基于流(Stream)的概念,流是数据的序列,可以是从输入源读取或向输出目标写入。Java IO提供...

    Java IO 使用例

    在“JavaIODemo”这个示例中,可能会包含以上提到的一些或全部Java IO操作的代码实例,通过这些实例,我们可以学习如何在实际项目中应用Java IO API。实践是掌握Java IO的最佳方式,通过对这些示例的分析和运行,...

    java io.pdf

    Java IO(Input/Output)是Java编程语言中用于处理输入和输出操作的重要组成部分。它提供了丰富的类库,允许程序员在程序之间传输数据,包括从文件、网络、内存缓冲区到其他程序或系统组件。Java IO API是Java平台的...

    JavaIO流详解归纳.pdf

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

    IO-黑马程序员Java学习笔记.rar

    Java的输入/输出(IO)系统是编程中的一个重要部分,特别是在开发服务器端应用程序、文件处理以及...通过阅读"IO-黑马程序员Java学习笔记",开发者可以系统地学习并实践这些知识点,从而提升自己的Java IO编程能力。

    图书管理系统IO简单版

    综上所述,"图书管理系统IO简单版"是一个实践Java IO操作的典型项目,涵盖了文件的读写、异常处理、数据格式化等多个方面,对于理解和掌握Java IO编程有很好的学习价值。通过这个项目,开发者可以进一步提升其在数据...

    JAVA程序设计:第14章 Java流式IO编程.ppt

    Java流式IO编程 Java流式IO编程是Java程序设计中的一种重要概念,用于实现数据的输入/输出操作。在Java中,把不同的输入/输出源(键盘、文件、网络连接等)抽象表述为“流”(stream)。java.io包中定义了多个流...

    Java IO 与 装饰模式

    在Java编程中,输入输出(IO)处理是程序设计中的重要组成部分,用于读取、写入和处理数据。Java IO库提供了一整套类来支持各种类型的输入输出操作,包括文件、网络、内存等。而装饰模式是一种结构型设计模式,它...

Global site tag (gtag.js) - Google Analytics