java字节流读取文件(java编写图形界面程序)

   发布日期:2022-08-15 23:00:53     手机:https://m.haocat.cn/zonghe/news53550.html    违规举报
核心提示:在计算机中,无论是文本、图片、音频还是视频,所有文件都是以二进制(字节)形式存在的,I/O流中针对字节的输入/输出提供了一系列的流,统称为字节流。 字节流是程序中最常用的流,根据数据的传输方向可将其分为字节输入流和字节输出流。在JDK中,提

java字节流读取文件(java编写图形界面程序)

在计算机中,无论是文本、图片、音频还是视频,所有文件都是以二进制(字节)形式存在的,I/O流中针对字节的输入/输出提供了一系列的流,统称为字节流。

字节流是程序中最常用的流,根据数据的传输方向可将其分为字节输入流和字节输出流。在JDK中,提供了两个抽象类InputStream和OutputStream,它们是字节流的顶级父类,所有的字节输入流都继承自InputStream,所有的字节输出流都继承自OutputStream。

为了方便理解,可以把InputStream和OutputStream比作两根“水管”,如图所示。

图中,InputStream被看成一个输入管道,OutputStream被看成一个输出管道,数据通过InputStream从源设备输入到程序,通过OutputStream从程序输出到目标设备,从而实现数据的传输。由此可见,I/O流中的输入/输出都是相对于程序而言的。

在JDK中,InputStream和 OutputStream提供了一系列与读写数据相关的方法,接下来先来了解一下InputStream的常用方法,如表所示。

InputStream的常用方法:

表中列举了InputStream的四个常用方法。前三个read()方法都是用来读数据的,其中,第一个read()方法是从输入流中逐个读入字节,而第二个和第三个read()方法则将若干字节以字节数组的形式一次性读入,从而提高读数据的效率。

在进行I/O流操作时,当前I/O流会占用一定的内存,由于系统资源宝贵,因此,在I/O操作结束后,应该调用close()方法关闭流,从而释放当前I/O流所占的系统资源。

与InputStream对应的是OutputStream。OutputStream是用于写数据的,因此OutputStream提供了一些与写数据有关的方法。

OutputStream的常用方法:

表中,列举了OutputStream类的五个常用方法。前三个是重载的write()方法,都用于向输出流写入字节,其中,第一个方法逐个写入字节,后两个方法是将若干个字节以字节数组的形式一次性写入,从而提高写数据的效率。

flush()方法用来将当前输出流缓冲区(通常是字节数组)中的数据强制写入目标设备,此过程称为刷新。close()方法是用来关闭流并释放与当前IO流相关的系统资源。

InputStream和OutputStream这两个类虽然提供了一系列和读写数据有关的方法,但是这两个类是抽象类,不能被实例化,因此,针对不同的功能,InputStream和OutputStream提供了不同的子类,这些子类形成了一个体系结构,如下图所示。

InputStream的子类:

OutputStream的子类:

从图中可以看出,InputStream和OutputStream的子类有很多是大致对应的,比如,ByteArrayInputStream和ByteArrayOutputStream、FileInputStream和FileOutputStream等。

 
 
本文地址:http://haocat.cn/zonghe/news53550.html,转载请注明出处。
 
更多>同类综合百科

推荐图文
推荐综合百科
点击排行
网站首页  |  网站流量  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  违规举报  |  SiteMaps  |  BaiDuNews