- 浏览: 1111134 次
文章分类
- 全部博客 (379)
- S2SH (16)
- stuts2 (0)
- java语言 (81)
- JSP (17)
- <html>元素 (11)
- javaweb (4)
- web容器 (3)
- ext (23)
- javaScript (48)
- ant (1)
- liferay (1)
- sql (9)
- css (42)
- 浏览器设置 (3)
- office_world (1)
- eclipse (4)
- 其它 (28)
- 操作系统 (5)
- android (6)
- Struts2 (11)
- RegEx (3)
- mysql (5)
- BigDATA (1)
- Node.js (1)
- Algorithm (10)
- Apache Spark (1)
- 数据库 (5)
- linux (2)
- git (1)
- Adobe (3)
- java语言,WebSocket (1)
- Maven (3)
- SHELL (1)
- XML (2)
- 数学 (2)
- Python (2)
- Java_mysql (1)
- ReactJS (6)
- 养生 (4)
- Docker (1)
- Protocols (3)
- java8 (2)
- 书籍 (1)
- Gradle (2)
- AngularJS (5)
- SpringMVC (2)
- SOAP (1)
- BootstrapCSS (1)
- HTTP协议 (1)
- OAuth2 (1)
最新评论
-
Lixh1986:
Java并发编程:自己动手写一把可重入锁https://blo ...
Java之多线程之Lock与Condition -
Lixh1986:
http://win.51apps.com.cn/https: ...
temp -
ztwsl:
不错,支持很好
HttpServletRequest和ServletRequest的区别 -
guodongkai:
谢谢您能将知识精华汇编总结,让初学者们从原理中学会和提高。
javaScript之function定义 -
kangwen23:
谢谢了,顶顶
struts2中的ValueStack学习
Java 中使用 “流”(Stream) 的概念来描述数据。Java 中使用流对数据操作的类,位于 java.io 包下。
一、认识“流”(Stream)
1、流,借用水流的概念。数据像水流一样在管道中传输。
2、流具有方向性。
相对于内存而言,流入内存称:InputStream,流出内存称:OutputStream
3、流中的数据使用时按无数据量格式(相对于某些数据传输协议,需要在报头写明要传输的数据的长度而言)、编码是最原始的二进制数据进行使用。
二、Java中流的分类
可以从不同的角度对流进行分类:
1.处理的数据单位不同,可分为:字符流,字节流
2.流的方向不同,可分为:输入流,输出流
3.功能(处理颗粒度)的不同,可分为:节点流,处理流
节点流:
节点流提供了对流的最原始的基本操作。是Java提供的最直接的操作文件,网络等的流。
例如
处理流:
“连接”在已存在的流(节点流或处理流)之上通过对数据的处理为程序提供更为强大的读写功能。对节点流(或处理流)进行一系列的包装。
例如
三、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
-
一、认识“流”(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 将文件夹所有的文件合并到指定的文件夹下
2020-06-30 19:17 1055场景:将文件夹所有的文件合并到指定的文件夹下 另外:如果想效 ... -
多线程-线程池的四种创建方式
2020-04-01 18:38 481多线程-线程池的四种创建方式 https://blog.cs ... -
Java基础之:nio
2019-11-13 15:38 477一、理论讲解: 史上最强Java NIO入门:担心从入门到放弃 ... -
Java 分布式之:RPC 基本概念
2019-11-13 15:07 454转载: https://www.jianshu.com/p/ ... -
Java之 volatile 关键字原理详解
2019-11-07 15:36 543一、什么是 volatile ? ... -
POI实现excell批注背景图片(仿html浮窗显示图片)
2019-10-21 08:17 683POI实现excell批注背景图片(仿html浮窗显示图片) ... -
Java之设计模式之 Observer 观察者
2019-07-04 17:21 1064观察者设计模式 Java 已经实现了该模式,并且提供了使用类 ... -
HashMap, LinkedHashMap and TreeMap
2019-03-01 11:04 673https://stackoverflow.com/a/177 ... -
Java lib 操作 excel 插入图片
2019-01-19 12:46 879https://poi.apache.org/componen ... -
数据库连接池C3P0
2018-05-29 16:50 890一、名字的由来 很多 ... -
Java8之集合(Collection)遍历 forEach()、stream()
2018-05-29 14:39 20744package java8.collections; ... -
Junit Vs main on "java.util.concurrent.Executors"
2017-11-10 16:44 808Same code with different result ... -
Java之大数据学习路线
2017-11-03 10:08 5720三个月大数据研发学习 ... -
Java中创建对象的5种方式
2017-10-26 14:21 840一、Java之5种创建对象的方式 ————————————— ... -
Log4j和Slf4j的比较
2017-06-23 12:41 1407一直搞不清 Log4j 和 SLF4j 的关系。今天才若有所 ... -
Java之Java7新特性之try资源句式
2017-04-20 14:58 5384Java之Java7新特性之try资源句式 一、【try资源 ... -
Java之 java.util.concurrent 包之ExecutorService之submit () 之 Future
2017-03-04 21:27 3834一、如何使用 ExecutorService.submit() ... -
Java之 java.util.concurrent 包之Executor与ExecutorService
2017-03-04 21:18 2702一、问题: execute() 与 submit() 的区别? ... -
JAVAEE之单用户登录
2017-02-05 11:55 1058单用户登录是系统中数据一直性的解决方案之一。 问题背景: 试 ... -
Java之多线程之线程池之线程重复使用
2017-02-04 13:33 5565一、问题背景 在使用多线程时,如果要开启一个任务,则就需要新 ...
相关推荐
#### 一、Java IO系统概述 Java IO系统是Java平台标准库中的一个重要组成部分,主要用于处理输入输出操作。Java IO系统主要包括两个包:`java.io`和`java.nio`(New IO),其中`java.io`提供了一系列基于流的I/O...
### Java.io包详解 #### 一、概述 Java.io包是Java编程语言中非常重要的一个标准库,它提供了丰富的类和接口,支持多种输入/输出流的处理方式,包括文件I/O、网络通信等场景。Java.io包的核心设计思想是以流...
### Java IO流基础知识点 #### 一、IO流概述 - **定义**:在Java中,IO流(Input/Output Streams)是用来处理输入输出的基本工具。流是一种有序的数据集合,通常涉及从源到目的地的数据传输过程。源可以是文件、...
12.java-IO 的概述
### Java JDK IO包类详解 #### 概述 Java平台提供的`io`包为开发者提供了访问文件系统、对象序列化等功能的基本输入输出能力。它主要包括字节流、字符流及对象流(字节流的包装类)。此外,还提供了一些基本的文件...
### Java.io概述 Java.io包提供了系统级别的输入/输出操作,通过数据流来实现。数据流支持多种类型的数据,包括简单的字节、基本数据类型、本地化字符以及对象。在Java.io中,程序通过输入流读取来自源的数据,而...
**Java NIO概述** Java NIO是在Java 1.4版本中引入的新IO模型,主要特点是其非阻塞特性。NIO的核心组件包括通道(Channel)、缓冲区(Buffer)和选择器(Selector)。通道是数据传输的途径,如文件通道、网络通道等...
### Java IO 类层次结构解析 #### 一、概述 Java IO(Input/Output)系统是Java平台中的一个重要组成部分,用于处理程序与外部设备之间的数据交换。Java IO系统提供了丰富的类来支持不同类型的输入输出操作,包括...
#### 二、Java I/O概述 Java中的I/O系统设计得非常灵活且强大,它将所有类型的输入/输出抽象成“流”的概念。流是一种有序的数据序列,可以是字节流也可以是字符流。Java提供了多种流来处理不同场景下的输入/输出...
### Java IO流详解 #### 一、流的概述与分类 在Java中,流是一种抽象概念,用于描述数据从一个地方传输到另一个地方的过程。它主要用于处理数据输入和输出,例如从磁盘读取文件、向网络发送数据或从键盘接收用户...
### Java IO流处理详解 #### I/O流概述 在Java编程中,输入/输出(I/O)处理是一项核心技能,涉及从键盘读取数据、向屏幕输出数据、从文件读写数据以及在网络连接上进行读写操作。Java将这些不同的输入输出源抽象...
### Java IO流详解 #### 一、概述 Java的I/O操作主要涉及使用Java语言进行输入和输出操作。Java的所有I/O机制都是基于数据流来进行输入输出,这些数据流表示了字符或字节数据的流动序列。理解Java的I/O模型对于...
### Java IO概述 Java IO(输入/输出)是Java编程语言中用于处理各种形式的数据传输的核心部分。它涉及从文件系统、网络等不同资源中读取数据或将数据写入这些资源的过程。Java IO的设计采用了面向对象的方法,通过...
#### 五、IO流概述 在Java中,IO流用于处理输入/输出操作。根据数据单位的不同,可以分为字节流和字符流两大类。 - **字节流**:处理的数据单位是字节(8位),包括`InputStream`和`OutputStream`。 - **字符流**...
#### 一、Java IO流概述 在Java中,输入/输出(Input/Output,简称IO)操作是程序与外部设备进行数据交换的重要方式。Java提供了强大的IO流处理类库,主要位于`java.io`包中。这些类库支持多种数据类型的操作,包括...
### IO流概述 IO流主要分为两大类:字节流和字符流。字节流主要处理字节数据,而字符流则处理字符数据。这两种流类型都有输入和输出之分,分别由以下接口和类表示: - 字节流: - 输入:`InputStream` - 输出:`...
**过滤流**(处理流)是在Java IO系统中的一个重要概念,它建立在已有的流对象之上,并为其添加了额外的功能或性能优化。与节点流不同,过滤流本身并不直接连接到数据源或目标,而是作为中间层,通过装饰器模式对底层...