1)是一种数据操作模型: 把任何数据都作为Byte 的有序集合看待
逐一处理的方式方式叫做流.
Java 流模型, 是byte by byte 是数据集合
data : 41 42 00 00 ff ff d6 d0
index : 0 1 2 3 4 5 6 7 8
pointer: ^
节点流: 流开始和结束的地方
过滤器: 基本流的功能扩展
字节流: 每次处理一个byte
字符流: 每次出来一个char
装饰器模式: 流的API 是按照装饰器模式设计的
InputStream 最基本的输入流操作模型, 是抽象类(read()是没有实现的)
51
|-- FileInputStream 实现了在文件上读取的方法read(), 节点流
|-- ByteArrayInputStream 实现了在数组里读取的方法read()
|-- FilterInputStream 过滤流,包装在一个基本流外部,提供功能扩展
| |-- DataInputStream 为基本流扩展了基本数据类型读取
| | readInt() readDouble()...方法的底层是read()
| |-- BufferedInputStream 为基本流提供缓冲处理
| |-- CipherInputStream 解密输入流, 知道就行
| |-- ZipInputStream 解压输入流, 知道就行
|-- ObjectInputStream 对象输入流, 也是过滤器
OutputStream 最基本的输出流操作模型,是抽象类(write()是没有实现的)
|-- FileOutputStream 实现了在文件上写出的方法write(), 节点流
|-- ByteArrayOutputStream 在变长数组上实现了write() 方法
|-- FilterOutputStream
| |-- DataOutputStream 基本类型输出
| |
| |-- BufferedOutputStream 缓冲输出
| |-- CipherOutputStream 加密输出
| |-- ZipOutputStream 压缩输出
|-- ObjectOutputStream 对象输出流
字符流, 每次处理一个字符
Reader 抽象类, 定义了抽象方法read(), 每次读取一个字符
|-- InputStreamReader 也是过滤器, 将byte 序列解码为char 序列
| 底层也是依赖基本的byte 输入流
|-- BufferedReader (Scanner) 是字符流过滤器,
| 有常用的文本读取方法readLine()
|-- FileReader 底层是FileInputSream + InputStreamReader
| 不能指定读取文件的字符编码
Writer 抽象类, 定义抽象方法write() 每次写出一个字符
|-- OutputStreamWriter 也是过滤器, 将char 序列编码为byte 序列
| 底层也是依赖基本的byte 输出流
|-- PrintWriter 是过滤器, 提供了常用方法println()
| 非常常见的文本处理方法
|-- FileWriter = OutputStreamWriter + FileOutputStream
| 不能指定文本输出编码, 不好用!
DOS out=new DOS(new COS(new ZOS(new BOS(new FOS(filename)))))
out.witerDouble(500);
2) 文件流是流的一种
InputStream --- FileInputStream
|- ByteArrayInputStream
3) Byte 流是最基本的流操作
InputStream Byte 输入流
OutputStream Byte 输出流
4) 流动最基本实现: 节点流
FileInputStream
ByteArrayInputStream
等....
5) 最基本的流操作: read() write()
分享到:
相关推荐
有关Java输入输出流的总结有关Java输入输出流的总结有关Java输入输出流的总结
Java IO总结 Java IO是Java中对文件的操作方式,以流的方式进行。流是Java内存中的一组有序数据序列。Java将数据从源(文件、内存、键盘、网络)读入到内存中,形成了流,然后将这些流还可以写到另外的目的地(文件...
Java io流的总结
JavaIO总结[借鉴].pdf
javaIO总结,帮助初学者了解及掌握IO,以及java高级的一些基础知识
java基础中的IO流部分的总结,有详细的知识点描述,思维导图的整体框架
Java IO系统主要包括两个包:`java.io`和`java.nio`(New IO),其中`java.io`提供了一系列基于流的I/O操作接口与实现类,而`java.nio`则提供了更高效的数据访问方式,如通道和缓冲区等。 Java IO系统的设计原则之...
JAVA_IO流学习总结
Java IO流总结 Java IO流是Java语言中最基本和最重要的输入/输出机制,负责将数据从外部世界输入到Java应用程序中或将数据从Java应用程序输出到外部世界。IO流可以分为两大类:字节流和字符流。 1. 节点流:离数据...
这篇详细的总结将围绕Java IO体系结构、核心类、流的概念、缓冲区、转换流、字符集、文件操作、对象序列化以及NIO(非阻塞IO)等多个方面进行展开。 一、Java IO体系结构 Java IO体系是Java平台中用于处理数据输入...
这是别人总结的很有实用价值的javaIO流教程。
下面是对Java IO流的详细总结: 1. 流的概念: 流是一种抽象的数据传输方式,可以将数据从一个地方传输到另一个地方。Java中的流分为输入流和输出流,分别用于读取和写入数据。流按照处理数据的不同类型,又可以...
总结来说,Java NIO提供了一种更高效、更适合处理并发的IO模型,尤其在服务器端开发中,如高并发的网络应用,NIO的优势更为明显。理解和掌握Java IO与NIO的使用,对于提升Java应用程序的性能和可扩展性至关重要。
总结来说,Java IO流是一个庞大的体系,覆盖了从基础的文件操作到复杂的网络通信,理解并熟练掌握这一部分将极大地提升Java开发者的技能。通过学习和实践,开发者可以灵活地处理各种数据输入输出场景,为应用程序...
#### 五、Java IO总结 Java IO是一个强大的框架,它支持各种不同的流类型,包括字节流和字符流。通过使用装饰模式,开发人员可以轻松地扩展流的功能,而无需修改原始流的实现。这种灵活性使得Java IO成为处理文件和...
在这个大总结中,我们将深入探讨Java IO流的基本概念、分类、常用类以及实践应用。 1. **基本概念** - **流(Stream)**:在Java中,流是一个抽象的概念,代表数据的有序序列。它可以是字节流或字符流,流向可以是...
这篇博客“Java学习之IO总结及mina和netty”探讨了Java IO的基础知识,并深入到两个高级网络通信框架——Mina和Netty。Mina和Netty都是基于NIO(非阻塞IO)的高性能网络应用框架,它们简化了复杂网络编程的实现。 *...