首页 > 编程知识 正文

java流,java流式编程

时间:2024-04-27 11:08:36 阅读:334631 作者:NBWT

本文目录一览:

Java中流的分类都有哪些

大致是输入输出流

他们包括以下具体的分类

1:字节流

2:字符流

3:缓冲字节流

4:缓冲字符流

Java 中有几种类型的流

1:按照流的方向(参考点永远是自己的程序)分:

输入流(InputStream):只能向其中读取数据的流.

输出流(OutputStream):只能向其中写出数据的流.

注意:输入流和输出流本身都是抽象类,不能直接实例化,如果想操作对象,则必须实例化这些类的子类对象.

2:按照数据的传输单位分:

字节流:以字节为单位传输数据的流.

字符流:以字符为单位传输的数据的流.

3:按照功能分:

节点(低级)流:直接对目标设备进行操作的流.

处理(高级)流:对节点流进行连接和封装,生成功能更加强大的流。

在java中,最基础的流类有哪些?

字节流:InputStream:只能读取字节数据的流.OutputStream:只能写出字节数据的流.

字符流:Reader:只能读取字符数据的流.Writer:只能写出字符数据的流.

java 流的分类有哪些?

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

字节流河字符流的区别:(各自在什么情况下使用)

字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节, 操作字节和字节数组。所以字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成的,所以它对多国语言支持性比较好!如果是 音频文件、图片、歌曲,就用字节流好点,如果是关系到中文(文本)的,用字符流好点.

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

3.功能不同,可分为:节点流,处理流;

节点流:节点流从一个特定的数据源读写数据。

处理流:“连接”在已存在的流(节点流或处理流)之上通过对数据的处理为程序提供更为强大的读写功能。

看到左上角那个头像没,点一下这里有一群讨论问题的朋友;

java中的“流”是什么?

流是个抽象的概念,是对输入输出设备的抽象,java程序中,对于数据的输入/输出操作都是以“流”的方式进行。设备可以是文件,网络,内存等。

流具有方向性,至于是输入流还是输出流则是一个相对的概念,一般以程序为参考,如果数据的流向是程序至设备,我们成为输出流,反之我们称为输入流。

可以将流想象成一个“水流管道”,水流就在这管道中形成了,自然就出现了方向的概念。

当程序需要从某个数据源读入数据的时候,就会开启一个输入流,数据源可以是文件、内存或网络等等。相反地,需要写出数据到某个数据源目的地的时候,也会开启一个输出流,这个数据源目的地也可以是文件、内存或网络等等。

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

1.

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

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

3.功能不同,可分为:节点流,处理流

1.

2.

都比较好理解,对于根据功能分类的,可以这么理解:

节点流:节点流从一个特定的数据源读写数据。即节点流是直接操作文件,网络等的流,例如fileinputstream和fileoutputstream,他们直接从文件中读取或往文件中写入字节流。

处理流:“连接”在已存在的流(节点流或处理流)之上通过对数据的处理为程序提供更为强大的读写功能。过滤流是

使用一个已经存在的输入流或输出流连接创建的,过滤流就是对节点流进行一系列的包装。例如bufferedinputstream和

bufferedoutputstream,使用已经存在的节点流来构造,提供带缓冲的读写,提高了读写的效率,以及datainputstream和

dataoutputstream,使用已经存在的节点流来构造,提供了读写java中的基本数据类型的功能。他们都属于过滤流。

来源:

如何理解java中的流概念

一、概念

Java中对文件的操作是以流的方式进行的。流是Java内存中的一组有序数据序列。Java将数据从源(文件、内存、键盘、网络)读入到内存中,形成了流,然后将这些流还可以写到另外的目的地(文件、内存、控制台、网络),之所以称为流,是因为这个数据序列在不同时刻所操作的是源的不同部分。

二、分类

流的分类,Java的流分类比较丰富,刚接触的人看了后会感觉很晕。流分类的方式很多:

1、按照输入的方向分,输入流和输出流,输入输出的参照对象是Java程序。

2、按照处理数据的单位不同分,字节流和字符流,字节流读取的最小单位是一个字节(1byte=8bit),而字符流一次可以读取一个字符(1char = 2byte = 16bit)。

3、按照功能的不同分,分节点流和处理流,节点流是直接从一个源读写数据的流(这个流没有经过包装和修饰),处理流是在对节点流封装的基础上的一种流,FileInputStream是一个接点流,可以直接从文件读取数据,但是BufferedInputStream可以包装 FileInputStream,使得其有缓冲功能。

其实除了以上三种分类外,还有一些常常听到的一些分类比如:对象流、缓冲流、压缩流、文件流等等。其实都是节点流和处理流的子分类。当然你也可以创建新的流类型,只要你需要。

三、流分类的关系

不管流的分类是多么的丰富和复杂,其根源来自于四个基本的类。这个四个类的关系如下:

字节流 字符流

输入流 InputStream Reader

输出流 OutputStream Writer

!-- EndFragment--

四、字节流和字符流的相互转换

1、从字节流到字符流:InputStreamReader、OutputStreamWriter类可以实现。

2、从字符流到字节流:可以从字符流中获取char[]数组,转换为String,然后调用String的API函数getBytes() 获取到byte[],然后就可以通过ByteArrayInputStream、ByteArrayOutputStream来实现到字节流的转换。

java中流的种类,按功能和内容分别介绍?

1、从功能上:输入流、输出流。

输入流就是从外部输入数据到程序,输出流就是从程序输出数据到外部。

外部就是只硬盘、数据库、网络等。

2、从结构上:字节流、字符流。

字节流是操作字节集的,字符流是操作字符串的。

字符串转换为字节集也可以通过字节流进行传输。

3、从来源上:节点流、过滤流。

节点流好像也叫原始流,过滤流好像也叫装饰流,不记得了。

过滤流操作的本质也是节点流,就像List的本质是数组一样。

这个很抽象,你学了就知道。

不行你就再百度一下吧。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。