`
meiyoudao
  • 浏览: 89745 次
  • 性别: Icon_minigender_1
  • 来自: 冲脉
社区版块
存档分类
最新评论

I/O流的分类

阅读更多
java.io 包中定义了多个流类型(类或抽象类)来实现输入输出功能;可以从不同的角度对其进行分类:

·按数据流的方向不同可以分为输入流和输出流.

·按处理数据单位不同可以分为字节流和字符流.

·按功能不同可以分为节点流和处理流.



字节流 字符流

输入流 InputStream Reader

输出流 OutputStream Writer



文件与程序的关系.我们是站在程序的角度来区分输出流和输入流.对文件进行写内容,就是输出流,从文件读内容,就是输入流.

字节流是每1个字节(8位)的读,字符流是每2个字节(16位)的读.

节点流就是基本的四种(4个抽象类)流.处理流就是对这四种(4个抽象类)基本数据流进行包裹(处理)的流.



类型                       字节流            字符流
File(文件)             FileInputStream                  FileReader
                       FileOutputStream            FileWriter

Memory Array       ByteArrayInputStream              CharArrayReader
                      ByteArrayOutputStream   CharArrayWriter

Memory String              --                     StringReader
                                                          StringWriter

Pipe(管道)            PipedInputerStream              PipedReader
                        PipedOutputerStream   PipedWriter


"".equalsIgnoreCase("");//忽略大小写的比较

常用的IO包中的类

InputStream/OutputStream              字节输入输出流
Reader/Writer                         字符输入输出流
FileputStream/FileOutputStream        文件字节输入输出流
FileReadder/FileWriter                文件字符输入输出流
BufferedInputStream/BufferedOutputStream 带缓存的字节输入输出流
BufferedReadder/BufferedWriter         带缓存的字符输入输出流
ByteArreayInputStream/ByteArreayOutputStream 内存中操作字节输入输出流
InputStreamReader/OutputStreamReader    内存中操作字符输入输出流
DataInputStream/DataOutputStream        数据类型输入输出流.可以存放8种基本数据类型
PrintStream/PrintWriter                 打印字节流和打印字符流
ObjectInputStream/ObjectOutputStream    对象字节输入输出流.对一个对象保存.常用于游戏存盘之类的


Serializable接口 序列化
当需要对bean部署在分布式服务器上时,就常用到对bean进行序列化.
序列化后就可以通过网络传输,或者存在硬盘上.

Transient 关键字
如果一个类是Serializable的.对于使用关键字Transient申明的属性,会不做记录.换句话说,就是Serializable的类是可以通过网络传输的.如果该类的一个属性声明为Transient,那么这个属性将不会传送有效的值过去.网络另一端得到这个类,用这个属性时,是初始化的值.

externalizable接口  是针对Serializable的
自主控制序列化的传输方式.


分享到:
评论

相关推荐

    Java I/O详细笔记

    Java I/O系统主要涉及四种基本的流分类方式:根据数据流动的方向、数据处理的类型、流处理的源以及是否使用了缓冲机制。 **1. 按数据流动方向** - **输入流(Input Stream)**:主要用于从某个数据源中读取数据,...

    java中I/O的t经典ppt

    - Java I/O流支持级联,即一个流可以连接到另一个流上,形成流链。这样可以组合不同类型的流以实现复杂的数据处理逻辑。 8. **对象序列化与反序列化**: - Java提供了ObjectOutputStream和ObjectInputStream,...

    一本输入输出流 I/O的书

    ### 输入输出流(I/O)概览 #### 一、File 类 **1. File 类简介** - **功能概述**:`File` 类是 Java 中用于处理文件和目录的核心类。它既可以用来表示一个文件也可以表示一个目录。尽管在 Java 中文件和目录都是...

    java语言程序设计郑莉PPT学习教案.pptx

    "java语言程序设计郑莉PPT学习教案.pptx" 从这个PPT学习教案的内容可以看出,...这个PPT学习教案提供了一个完整的I/O流概念的概述、分类、面向字符和字节流的特性、java.io包的使用、I/O流的操作、优点和应用等内容。

    JavaSe知识总结:I/O流.xmind

    思维导图,含括流概念,流分类,流关系的图文展示等

    java基础知识I/O流使用详解

    本篇将详细讲解Java中的I/O流系统,帮助你理解其基本概念、分类以及常用类的使用。 首先,"流"是一个抽象的概念,它代表数据的流动,可以是从数据源到接收端,也可以是从接收端到数据源。在Java中,I/O流被分为两类...

    java语言的高级特性

    #### Java I/O流分类 Java I/O流分为两大类: 1. **面向字节的流**:这类流以8位字节为单位处理数据,适用于处理任何形式的数据,但具体格式需要程序员自行定义。 2. **面向字符的流**:这类流以16位字符为单位...

    java I/0实现

    本文将对Java I/O流的基本概念、分类和常见用法进行概述,并提供一些示例代码。 首先,Java I/O流的核心概念是“流”,它是一个抽象的概念,代表数据从源到目的地的流动。根据数据处理方式的不同,Java I/O流主要...

    IODemo.zip

    Java I/O流是Java平台中的一个重要特性,它允许程序与外部资源进行数据交换,包括读取文件、网络通信、标准输入输出等。I/O流在Java中被设计为一种抽象的概念,将数据的传输视为一个有序的数据流。在这个"IODemo.zip...

    Java的I_O处理技术探析.pdf

    Java的I/O处理技术的分类: 1. 文件输入输出:Java中通过File类、FileInputStream类、FileOutputStream类等来处理文件的输入输出。 2. 字节输入输出:Java中通过InputStream类、OutputStream类等来处理字节的输入...

    IO流概念及分类.rar

    I/O流允许我们从各种源(如键盘、硬盘、网络等)读取数据,并将数据写入到不同的目标(如显示器、文件、网络等)。在Java中,I/O流的体系结构非常丰富,它被设计成一种通用且灵活的方式来处理数据传输。 首先,I/O...

    Delphi基础教程图文版之文件操作.pdf

    #### 二、I/O流分类 根据数据的流向可以将I/O流分为两类: - **输入流**:将数据从外部设备读入到内存中的过程。 - **输出流**:将数据从内存写入到外部设备的过程。 根据数据类型的不同还可以将I/O流分为两种: -...

    android面试题

    一、Java I/O流分类 Java的I/O流是用于输入和输出操作的类和接口的集合。根据功能可以分为输入流和输出流,根据数据类型可以分为字节流和字符流。节点流用于直接从源读取数据,处理流则用于增加额外的功能(例如缓冲...

    IO数据流 全攻略

    在I/O流的设计中,有多种分类方式。按照流的方向,可以分为输入流和输出流;按功能划分,有节点流和处理流;根据处理的数据类型,又可以分为面向字符的流和面向字节的流。 节点流是直接与数据源或目标进行交互的流...

    [英文原版]操作系统_精髓与设计原理_第5版 Chapt11.pdf

    这一章节不仅提供了对I/O设备分类、特性的全面理解,还详细阐述了不同类型的I/O设备在数据率、应用、控制复杂性、传输单元、数据表示以及错误处理等方面的差异。以下是对该章节关键知识点的详尽解析: ### I/O设备...

    实验9 Java输入输出流.doc

    在实验9中,主要目的是理解和掌握I/O流的分类,以及如何进行文本和二进制文件的读写。 I/O流在Java中被设计为一系列的类和接口,它们构成了一个层次结构,使得程序员可以方便地处理各种类型的输入输出操作。Java的I...

    io流的资料

    1. **I/O流的分类** - 按照数据流向,I/O流可以分为输入流(Input Stream)和输出流(Output Stream)。输入流用于读取数据,而输出流用于写入数据。 - 按照处理的数据类型,I/O流分为字节流(Byte Stream)和字符...

    第10章IO.docx

    Java中的I/O流分类** Java中的I/O流主要分为两大类:字节流和字符流。 - **字节流**:处理8位的数据单位,适用于处理任何类型的数据。包括`InputStream`和`OutputStream`两个顶级抽象类。 - **字符流**:处理16位...

    C#线程处理系列之线程池中的I/O线程

    在本文中,我们将深入探讨线程池中的I/O线程,以及如何利用它们来执行异步I/O操作。 首先,我们需要理解线程的分类。线程通常分为两类:工作者线程和I/O线程。工作者线程主要负责计算密集型任务,CPU资源被充分使用...

Global site tag (gtag.js) - Google Analytics