您的位置:首页 > 编程语言 > Java开发

JAVA数据流概念及标准数据流的实现

2017-06-30 22:52 183 查看

1、数据流的概念

计算机程序中,获取数据的方式有多种,比如:程序中直接给出、键盘输入、从数据文件中读取、从数据库中读取、通过网络读取等。

为了更有效地进行数据的输入/输出操作,Java将各种数据源的数据,抽象为“数据流”,及stream。

数据流:是指一组有顺序的、有起点和终端的字节集合,是对输入/输出的总称。

2、数据流的分类:

2.1、根据数据流的流向,可以将其分为输入流和输出流。

输入流的起点被称为源,程序是从指向源的输入流中读取源中的数据。

输入流中的数据只能读,不能写。

输出流的终点被称为目的地,程序通过向输出流中写入数据,把信息传递道目的地。

输出流中的数据只能写,不能读。



2.2、根据数据的传输单位,数据流可以分为字符流和字节流。

字节流(byte stream)以字节为单位,进行数据传输,可用于读写二进制数据。

字节流类一般以InputStream/OutputStream结尾。

字符流(character stream)以字符为单位,进行数据传输,用于处理文本数据,支持Unicode编码。

字符流一般以Reader/Writer结尾。

Java在java.io和java.util.zip包中,提供多种数据流类。

**

3、缓冲区:

**

数据流的操作,会涉及到外部设备,而,外部设备的读写速度比内存的读写速度要慢很多。如果直接在内存和外部设备之间传输数据,会音外部设备的速度限制,使得数据的传输效率变得很慢。在这种情况下,我们使用缓冲区的方法来提高内存与外部设备之间的数据传输效率。



缓冲区是在内存中,特地开辟出来的一块用于数据传输的空间。

只有当缓冲区的数据处于空或者满的时候,才会触发系统对外部设备进行写或读操作。

正是由于减少了传输数据时,系统对外部设备的调用次数,减少了调用时间开销,使得数据传输的整体效率提好。

4、Java的标准数据流:

Java的标准数据流分为标准输入流、标准输出流和标准错误输出流等。

Java通过系统类System实现标准输入/输出的功能。System的3个成员in、out和err分别对应于标准输入、标准输出和标准错误输出,其使用如下:

import java.io.IOException;

public class FileClass {

public static void main(String [] args){
System.out.println("这里是标准输出流。");
try{
System.out.println("请输入一个字符:");
System.out.println("下面是标准输入流:");
int a = 0;
a = System.in.read();
System.out.println("输入字符的ASCII码为:" + a);
} catch(IOException e){
e.printStackTrace();
}

System.err.println("这里是标准错误输出流");
}
}


输出结果如下:

这里是标准输出流。
请输入一个字符:
下面是标准输入流:
b
输入字符的ASCII码为:98
这里是标准错误输出流
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 数据 标准 计算机