㈠ 简述java(stream)流的三种分类
1.输入流和输出流
把从外部设备流向程序的流成为输入流内
2.字符流容和字节流
根据数据在Stream里的最小传输单位, 我们也可以把流分为两类
字符流:
最小传输单位为1个字符(java里的字符不再用ASCII码表示,而是用万国码, 所以1个字符(char) = 2个字节(byte) = 16bit(位)).
字节流:
最小传输单位为1个字节(byte).
3.节点流和处理流(原始流和包裹流)
Java里的stream还可以嵌套. 按照流的功能还可以分为节点流和处理流
㈡ java方面的几个名词解释
1、这个应该是重载吧
重载,在一个类定义中,可以编写几个同名的方法,但是只要它们的签名参数列表不同,Java就会将它们看做唯一的方法。简单的说,一个类中的方法与另一个方法同名,但是参数表不同,这种方法称之为重载方法。
2、异常
“异常”指的是程序运行时出现的非正常情况。在用传统的语言编程时,程序员只能通过函数的返回值来发出错误信息。这易于导致很多错误,因为在很多情况下需要知道错误产生的内部细节。通常,用全局变量errno来存储“异常”的类型。这容易导致误用,因为一个errno的值有可能在被处理?reg;前被另外的错误覆盖掉。即使最优美的C语言程序,为了处理“异常”情况,也常求助于goto语句。Java对“异常”的处理是面向对象的。一个Java的Exception是一个描述“异常”情况的对象。当出现“异常”情况时,一个Exception对象就产生了,并放到产生这个“异常”的成员函数里。
3、java虚拟机
Java虚拟机(JVM)一种用于计算机设备的规范,可用不同的方式(软件或硬件)加以实现。编译虚拟机的指令集与编译微处理器的指令集非常类似。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。Java虚拟机(JVM)是可运行Java代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。
4、节点流
流是字节序列的抽象概念。流和文件的差别:文件是数据的静态存储形式,而流是指数据传输时的形态。文件只是流的操作对象之一。流按其操作的对象不同可以分为文件流、网络流、内存流、磁带流等。Java流类可分为两个大类:节点流类和过滤流类(也叫处理流类)节点流类:用于直接操作目标设备所对应的流类。节点流类所对应的IO源或目标称为流节点。比如我们用一个类和一个文件或网络相关联,那么这个类就叫做节点流类,这个文件或网络就叫做流的节点。
5、处理流
处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。如BufferedReader。处理流的构造方法总是要带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接。
㈢ 如何理解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中流是字节序列的抽象概念,例如文件输入输出设备,TCP/IP套接字。流提供了一种由统一的方式从各种输入输出设备中读取和写入字节数据的方法。
流和文件的差异:文件是数据的静态存储形式,而流是指数据传输时的形态。文件是一些具有永久存储及特定顺序的字节组成的一个有序的具有名称的一些数据的集合。流提供了一种向IO设备写入字节和从IO设备中读取字节的方式。文件只是流可操作的IO设备之一,除了文件流,还有网络流,内存流,磁带流等等。数据流是一串连续传输的数据的集合,就像水管里的水流一样,在水管的一端一点一点的供水,而在水管的另一端看到的是一股连续不断的水流,用于写入数据的程序可以一段接一段的向数据流管道中写入数据,这些数据段按先后顺序形成一个长的数据流,对于读取数据的程序来说,它看不到数据流在写入时的分段,它每次可以读取其中任意长度的数据,但只能先读取前面的数据后再读取后面的数据,不管数据是被分成多少次写入还是做为一个整体一次写入,读取的效果都应该是完全一样的。
java中提供了众多对流操作的类,通过这些流类应用程序可以方便的从各种IO设备中读取和向IO设备写入各种类型的数据。java的流分为两个大类:节点流类和过滤流类(也叫处理流类)。用于直接操作设备所对应的类叫节点类,节点流类所对应的IO源或者目标称为流节点,比如用一个类和某个文件或者网络直接相关联,那么这个类就叫做节点流类,那么这个文件或者这个网络就叫做流的节点。程序也可以通过一个间接的流类去调用节点流类,以达到更加灵活的读写各种类型的数据,比如要通过网络传输对象,我们就设计一种对象流的类,它可以把对象写入到网络当中去。那么这个类实际上是调用底层的网络流类。
㈤ java中的io流有哪些
Java中的IO流
指的是将不同的输入输出源通过流的形式进行输入或输出的操作,流是一种抽象的描述,在程序中指的是数据的一种转移方式。
IO流的分类:
(1)按照数据的流向:
输入流、输出流
(2)按照流数据的格式:
字符流、字节流
(3)按照流数据的包装过程:
节点流(低级流)、处理流(高级流)
最基本的几种进行简单介绍:
•InputStream/Reader: 所有的输入流的基类,前者是字节输入流,后者是字符输入流。
•OutputStream/Writer: 所有输出流的基类,前者是字节输出流,后者是字符输出流。