现在的位置: 首页 > 综合 > 正文

InputStream 与 OutputStream

2013年10月15日 ⁄ 综合 ⁄ 共 831字 ⁄ 字号 评论关闭

---------------------- android培训java培训、期待与您交流! ----------------------

流的概念

流是字节序列的抽象概念。

文件是数据的静态存储形式,而流是指数据传输时的形态。

流类分为两大类:节点流和过滤流类(也叫处理流)。

InputStream

程序可以 从中连续读取字节的对象叫输入流,在Java 中,用InputStream类来描述所有输入流的抽象概念。

有了垃圾回收器,为什么还要调用close() 方法?

答:当运行一个JAVA程序时,内存中会产生两种东西,一种是JAVA程序产生的对象,另一种是系统产生的资源。JAVA的垃圾回收器只会回收JAVA程序产生的对象,而不会回收系统产生的资源;而要清除系统产生的资源,则要通过JAVAclose() 方法通知系统,让系统自己清除自己的资源。

OutputStream

可以向其中连续写入字节的对象叫输出流,在JAVA中,用OutputStream类来描述 所有输出流的抽象概念。

void flush() --即使缓冲区没有被填满,也可以把缓冲区中的数据写入到外部设备。

使用缓冲区能够提高整个计算机的使用效率,使用内存缓冲区有两个好处

1. 提高了CPU的使用率

2. wirte()方法并没有真正把数据写入外部IO设备,程序还有机会撤消写入的部分数据

使用缓冲区能够提高整个计算机的使用效率,但也会降低程序自身的执行效率,因为wirte()方法并没有真正把数据写入外部IO设备,因而在网络流中会导致一些数据的滞后,因而会降低它的实时性与效率。

C语言中,默认使用缓冲区,而在JAVA语言中,有的类使用缓冲区,有的类不使用缓冲区,我们还可以使用专门的包装类来实现自己的缓冲区。

---------------------- android培训java培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net/heima

抱歉!评论已关闭.