`

java之io概述

阅读更多
Java 中使用 “流”(Stream) 的概念来描述数据。Java 中使用流对数据操作的类,位于 java.io 包下。

一、认识“流”(Stream)

1、流,借用水流的概念。数据像水流一样在管道中传输。
2、流具有方向性。
   相对于内存而言,流入内存称:InputStream,流出内存称:OutputStream
3、流中的数据使用时按无数据量格式(相对于某些数据传输协议,需要在报头写明要传输的数据的长度而言)、编码是最原始的二进制数据进行使用。


二、Java中流的分类

可以从不同的角度对流进行分类:

1.处理的数据单位不同,可分为:字符流,字节流

2.流的方向不同,可分为:输入流,输出流

字节流字符流
输入流(abstract class) java.io.InputStream(abstract class) java.io.Reader
输出流(abstract class) java.io.OutputStream(abstract class) java.io.Writer




3.功能(处理颗粒度)的不同,可分为:节点流,处理流

   节点流:
   节点流提供了对流的最原始的基本操作。是Java提供的最直接的操作文件,网络等的流。

   例如
   // 直接从文件中读取或往文件中写入字节流。
   FileInputStream
   FileOutputStream


   // end





    处理流:
   “连接”在已存在的流(节点流或处理流)之上通过对数据的处理为程序提供更为强大的读写功能。对节点流(或处理流)进行一系列的包装。
  
   例如
   // 1、提供带缓冲的读写,提高了读写的效率。
   BufferedInputStream 
   BufferedOutputStream

   // 2、提供了读写Java中的基本数据类型的功能。
   DataInputStream
   DataOutputStream

   // 3、使用举例
   BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
   Writer out = new BufferedWriter(new OutputStreamWriter(System.out));



   //end






三、Java中的流概览

红色为抽象类
绿色为节点流(原始流),蓝色为处理流

java.io.InputStream
        ├⎯⎯⎯⎯⎯⎯ FileInputStream
        ├⎯⎯⎯⎯⎯⎯ PipedInputStream
        ├⎯⎯⎯⎯⎯⎯ ByteArrayInputStream
        ├⎯⎯⎯⎯⎯⎯ StringBufferInputStream
        ├⎯⎯⎯⎯⎯⎯ SequenceInputStream
        ├⎯⎯⎯⎯⎯⎯ ObjectInputStream
        └⎯⎯⎯⎯⎯⎯ FilterInputStream
                          ├⎯⎯⎯⎯ BufferedInputStream
                          ├⎯⎯⎯⎯ DataInputStream
                          ├⎯⎯⎯⎯ LinumberInputStream
                          └⎯⎯⎯⎯ PushbackInputStream
      


java.io.OutputStream
        ├⎯⎯⎯⎯⎯⎯ FileOutputStream
        ├⎯⎯⎯⎯⎯⎯ PipedOutputStream
        ├⎯⎯⎯⎯⎯⎯ ByteArrayOutputStream
        ├⎯⎯⎯⎯⎯⎯ ObjectOutputStream
        └⎯⎯⎯⎯⎯⎯ FilterOutputStream
                          ├⎯⎯⎯⎯ BufferedOutputStream
                          ├⎯⎯⎯⎯ DataOutputStream
                          └⎯⎯⎯⎯ PrintStream


java.io.Reader
        ├⎯⎯⎯⎯⎯⎯ CharArrayReader
        ├⎯⎯⎯⎯⎯⎯ StringReader
        ├⎯⎯⎯⎯⎯⎯ PipedReader
        ├⎯⎯⎯⎯⎯⎯ InputStreamReader ⎯⎯⎯⎯⎯⎯⎯⎯⎯  FileReader
        ├⎯⎯⎯⎯⎯⎯ BufferedReader    ⎯⎯⎯⎯⎯⎯⎯⎯⎯  LineNumberReader
        └⎯⎯⎯⎯⎯⎯ FilterReader      ⎯⎯⎯⎯⎯⎯⎯⎯⎯  PushbackReader



java.io.Writer
        ├⎯⎯⎯⎯⎯⎯ CharArrayWriter
        ├⎯⎯⎯⎯⎯⎯ StringWriter
        ├⎯⎯⎯⎯⎯⎯ PipedWriter
        ├⎯⎯⎯⎯⎯⎯ OutputStreamWriter ⎯⎯⎯⎯⎯⎯⎯⎯⎯  FileWriter
        ├⎯⎯⎯⎯⎯⎯ BufferedWriter   
        └⎯⎯⎯⎯⎯⎯ FilterWriter





引用:
http://www.cnblogs.com/shitouer/archive/2012/12/19/2823641.html






-
转载请注明
原文出处: http://lixh1986.iteye.com/blog/2333086














-
分享到:
评论

相关推荐

    Java IO_NIO

    **Java NIO概述** Java NIO是在Java 1.4版本中引入的新IO模型,主要特点是其非阻塞特性。NIO的核心组件包括通道(Channel)、缓冲区(Buffer)和选择器(Selector)。通道是数据传输的途径,如文件通道、网络通道等...

    607.605.JAVA基础教程_IO流与网络编程-复习:IO流概述(607).rar

    607.605.JAVA基础教程_IO流与网络编程-复习:IO流概述(607).rar

    JAVA_IO操作总括

    一、Java IO系统概述 Java的IO库提供了一整套用于处理输入和输出的类和接口,它们位于java.io包中。这些类和接口支持从各种类型的输入源读取数据,向各种类型的输出目标写入数据,包括文件、网络连接、内存缓冲区等...

    10.尚硅谷_java基础_IO

    IO 概述 File 类 IO 流分类 InputStream & Reader OutputStream & Writer RandomAccessFile 类 对象的序列化

    Java-IO流基础例题 & 例题源码 & PPT教学文档(黑马程序员详细版).rar

    一、Java IO流概述 Java IO流分为字节流和字符流两大类,字节流处理的是8位的字节数据,而字符流处理的是16位的Unicode字符。字节流又分为输入流(InputStream)和输出流(OutputStream),字符流则有Reader和Writer...

    完整版 Java基础入门教程 Java程序语言设计 04 IO流 输入输出流(共31页).ppt

    完整版 Java基础入门教程 Java程序语言设计 01 java语言基础 Java语言概述(共24页).ppt 完整版 Java基础入门教程 Java程序语言设计 02 java语法基础 Java语法基础(共32页).ppt 完整版 Java基础入门教程 Java程序...

    Java语言概述 ppt

    Java语言概述 Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems公司(现已被Oracle公司收购)于1995年推出。它的设计目标是具有简单性、面向对象、健壮性、安全性、可移植性、高效性和多线程等特点,...

    完整版 杭州电子科技大学JAVA语言程序设计 JAVA_07 IO输入输出(共30页).ppt

    完整版 杭州电子科技大学JAVA语言程序设计 JAVA_07 IO输入输出(共30页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_08 AWT图形界面编程 JFC AWT Swing(共56页).ppt 完整版 杭州电子科技大学JAVA语言程序...

    java io包中简单的常用类使用

    以上就是 `java.io` 包中一些基本的类及其使用方法的概述。通过熟练掌握这些类,开发者能够高效地进行文件操作、数据传输等任务。在实际项目中,根据需求,还可以结合其他类如 `FileReader/Writer`、`Scanner` 等...

    如何获取java新IO的Path文件大小

    知识点一:Java新IO概述 Java新IO(NIO)是Java 1.4中引入的API,提供了高性能的文件操作功能。新IO相比传统IO,具有以下特点: * 高性能:新IO使用缓存和直接存取文件系统,提高了文件操作的速度。 * 非阻塞式IO...

    Java基础之IO.docx

    Java中的IO(输入输出)是程序与外部世界交互的关键机制,包括从文件、网络、内存等数据源读取数据(输入)以及向这些位置写入数据(输出)。Java的IO系统基于流(Stream)的概念,数据如同水流一样从源头到目的地...

    Java io输入输出流及字符集

    Java的IO(Input/Output)系统是其核心特性之一,为程序处理数据的输入与输出提供了强大而灵活的工具。本文将深入探讨Java中的输入输出流以及字符集的相关知识点。 一、Java IO流概述 Java的IO流模型是基于管道的...

    Java基础入门学习教程PPT课件 JAVA语言程序设计 JAVA_03 JAVA语言基础 位运算(共21页).ppt

    JAVA_7 IO输入输出 JAVA_8 AWT图形界面编程 JFC AWT Swing JAVA_8 AWT图形界面编程 JFC Swing JAVA_9 Applet JAVA_10 线程 JAVA_11 网络程序设计 JAVA_12 JFC Swing JAVA_13 JDBC JAVA_13 JDBC编程

    Java的概述与基本语法规则

    6. **继承与多态**:Java支持单继承和多层继承,以及接口的实现,多态性是面向对象的三大特性之一,增强了代码的复用性和灵活性。 7. **包(Package)**:用于组织类,便于管理,避免命名冲突。例如,`java.lang`是...

    JavaIO流精讲上

    课程内容主要有:File类概述、File类功能讲解、JAVA IO流概述、字节流、字符流、缓冲流、InputStream、OutputStream、Reader、Writer、FileInputStream、FileOutputStream、InputStreamReader、OutputStreamWriter、...

    Java IO学习总结归纳(附代码)

    IO流概述 IO流是Java中处理输入输出的核心概念。它们可以被视为数据传输的管道,允许数据在源和目的地之间流动。Java将所有IO操作封装为流对象,分为四大类:字节流(Byte Stream)和字符流(Character Stream),...

    Java 第01-02章 Java概述_Java环境配置

    Java 第01-02章 Java概述_Java环境配置

    完整版 Java基础入门教程 Java程序语言设计 01 java语言基础 Java语言概述(共24页).ppt

    完整版 Java基础入门教程 Java程序语言设计 01 java语言基础 Java语言概述(共24页).ppt 完整版 Java基础入门教程 Java程序语言设计 02 java语法基础 Java语法基础(共32页).ppt 完整版 Java基础入门教程 Java程序...

    javaio流电子书整理面试必考io流帮助你入职阿里腾讯

    **二、IO流概述** IO流可以理解为数据的流动通道,从数据源(如键盘、文件)到数据目的地(如显示器、文件)。按照不同的分类标准,IO流可以分为以下几类: 1. **按流向分**:可分为输入流(Input Stream)和输出...

    JAVA视频OOP-IO流技术讲解视频

    javaOOP必看精华视频资料,1:主要介绍IO流中的递归 2:文件输出导出数据与文件输入导入数据的构造方法 3:递归求阶乘代码实现及内存讲解 4:不死神兔问题案例 5:IO流基类概述及一个简单的需求分析 6:...

Global site tag (gtag.js) - Google Analytics