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系统主要涉及四种基本的流分类方式:根据数据流动的方向、数据处理的类型、流处理的源以及是否使用了缓冲机制。 **1. 按数据流动方向** - **输入流(Input Stream)**:主要用于从某个数据源中读取数据,...
- Java I/O流支持级联,即一个流可以连接到另一个流上,形成流链。这样可以组合不同类型的流以实现复杂的数据处理逻辑。 8. **对象序列化与反序列化**: - Java提供了ObjectOutputStream和ObjectInputStream,...
### 输入输出流(I/O)概览 #### 一、File 类 **1. File 类简介** - **功能概述**:`File` 类是 Java 中用于处理文件和目录的核心类。它既可以用来表示一个文件也可以表示一个目录。尽管在 Java 中文件和目录都是...
"java语言程序设计郑莉PPT学习教案.pptx" 从这个PPT学习教案的内容可以看出,...这个PPT学习教案提供了一个完整的I/O流概念的概述、分类、面向字符和字节流的特性、java.io包的使用、I/O流的操作、优点和应用等内容。
思维导图,含括流概念,流分类,流关系的图文展示等
本篇将详细讲解Java中的I/O流系统,帮助你理解其基本概念、分类以及常用类的使用。 首先,"流"是一个抽象的概念,它代表数据的流动,可以是从数据源到接收端,也可以是从接收端到数据源。在Java中,I/O流被分为两类...
#### Java I/O流分类 Java I/O流分为两大类: 1. **面向字节的流**:这类流以8位字节为单位处理数据,适用于处理任何形式的数据,但具体格式需要程序员自行定义。 2. **面向字符的流**:这类流以16位字符为单位...
本文将对Java I/O流的基本概念、分类和常见用法进行概述,并提供一些示例代码。 首先,Java I/O流的核心概念是“流”,它是一个抽象的概念,代表数据从源到目的地的流动。根据数据处理方式的不同,Java I/O流主要...
Java I/O流是Java平台中的一个重要特性,它允许程序与外部资源进行数据交换,包括读取文件、网络通信、标准输入输出等。I/O流在Java中被设计为一种抽象的概念,将数据的传输视为一个有序的数据流。在这个"IODemo.zip...
Java的I/O处理技术的分类: 1. 文件输入输出:Java中通过File类、FileInputStream类、FileOutputStream类等来处理文件的输入输出。 2. 字节输入输出:Java中通过InputStream类、OutputStream类等来处理字节的输入...
I/O流允许我们从各种源(如键盘、硬盘、网络等)读取数据,并将数据写入到不同的目标(如显示器、文件、网络等)。在Java中,I/O流的体系结构非常丰富,它被设计成一种通用且灵活的方式来处理数据传输。 首先,I/O...
#### 二、I/O流分类 根据数据的流向可以将I/O流分为两类: - **输入流**:将数据从外部设备读入到内存中的过程。 - **输出流**:将数据从内存写入到外部设备的过程。 根据数据类型的不同还可以将I/O流分为两种: -...
一、Java I/O流分类 Java的I/O流是用于输入和输出操作的类和接口的集合。根据功能可以分为输入流和输出流,根据数据类型可以分为字节流和字符流。节点流用于直接从源读取数据,处理流则用于增加额外的功能(例如缓冲...
在I/O流的设计中,有多种分类方式。按照流的方向,可以分为输入流和输出流;按功能划分,有节点流和处理流;根据处理的数据类型,又可以分为面向字符的流和面向字节的流。 节点流是直接与数据源或目标进行交互的流...
这一章节不仅提供了对I/O设备分类、特性的全面理解,还详细阐述了不同类型的I/O设备在数据率、应用、控制复杂性、传输单元、数据表示以及错误处理等方面的差异。以下是对该章节关键知识点的详尽解析: ### I/O设备...
在实验9中,主要目的是理解和掌握I/O流的分类,以及如何进行文本和二进制文件的读写。 I/O流在Java中被设计为一系列的类和接口,它们构成了一个层次结构,使得程序员可以方便地处理各种类型的输入输出操作。Java的I...
1. **I/O流的分类** - 按照数据流向,I/O流可以分为输入流(Input Stream)和输出流(Output Stream)。输入流用于读取数据,而输出流用于写入数据。 - 按照处理的数据类型,I/O流分为字节流(Byte Stream)和字符...
Java中的I/O流分类** Java中的I/O流主要分为两大类:字节流和字符流。 - **字节流**:处理8位的数据单位,适用于处理任何类型的数据。包括`InputStream`和`OutputStream`两个顶级抽象类。 - **字符流**:处理16位...
在本文中,我们将深入探讨线程池中的I/O线程,以及如何利用它们来执行异步I/O操作。 首先,我们需要理解线程的分类。线程通常分为两类:工作者线程和I/O线程。工作者线程主要负责计算密集型任务,CPU资源被充分使用...