今天看了关于输出流的内容,也明白不少 但是缺少技术,有的还是在用的过程中忘记,真去努力再多记多用吧,不知道怎么回事,今天还是不太想听老师讲课,唉,只好自己看些资料去自学了,不会的再问老师吧。
java.io输出流
java.io.OutputStream
这是一个抽象类,它用于定义将字节流写至输出流的方法。write()方法可将单个字节或字节数组写至输出流。有些子类可能会在内部将数据缓存起来,而不直接写至底层存储机制,应用代码可能会使用flush()强制性将那些缓存起来的数据写出。如果close()方法关闭了流,缓存的数据会自动刷新。
OutputStream与InputStream类似,也是面向字节的而不是面向字符,因此,在使用时,不能保证可以按如下所示的方式安全的写字节数组。应当使用OutputStream的writeUTF()方法或writeChars()方法,或者使用一个OutputStreamwriter并对所写的数据采取合适的编码来处理字符数据,
java.io.ByteArrayOutputStream
OutputStream的子类,它将向其写入的数据存储到一个缓冲区中,使用其toByteArray()方法可以检索这些数据。在创建流时,缓冲区为空,随着数据写到流,缓冲区将扩大。
J2ME中经常将ByteArrayOutputStream与DataOutputStream结合使用,这样可将字符串和java的基本类型存储在一个字节数组中。如rms存储。
java.io. DataOutput(interface)
这是一个由类实现的接口,它将字符串和java的基本类型写成与平台无关的二进制编码,实现DataInput的类可以读取此二进制编码。
java.io.DataOutputStream
它是OutputStream的子类,实现了DataOutput接口的方法,将经过编码的数据以字节数组的形式写入到另一个OutputStream中,可直接创建该类的实例,此外,也可从其他的来源获得实例,如javax.microedition.io.Connector的openDataOutputStream方法。在这种情况下,openDataOutputStream方法返回一个流,从而将数据写到一个网络连接或者其他可以使用CLDC通用连接框架访问的数据源。
java.io.Writer
这是一个抽象类,它定义一组方法,这些方法由提供字符输出的子类实现,Writer与OutputStream的不同在于,它是以16位Unicode字符形式而不是8位字符工作的。
通过将输出流与OutputStreamWriter包装在一起,可以将安全地将一个16位Unicode字符序列转换成一个8位流。Writer提供的大多数方法与OutputStream相同,只是它的基本传输单位是char而不是byte。
注意:Writer提供了一个flush()方法,)强制性将缓存区数据写出。如果调用close()方法,缓存区数据就会自动写出。
java.io.OutputStream.Writer
这是Writer的一个子类,它将其输入写到一个8位输出流。根据某种编码(其名传递给了构造函数)或者主机平台默认的编码(如果使用的是单参数的构造函数),将传递给该类的16位Unicode字符影射为底层输出流所需的字节。
注意:可以从系统属性microedition.encoding()方法获得应用的默认编码。
本文详细阐述了Java IO输出流的概念,包括OutputStream抽象类及其子类ByteArrayOutputStream、DataOutputStream的功能与用法,同时介绍了Writer类及其子类OutputStreamWriter的作用,帮助读者掌握Java IO输出流的使用技巧。

被折叠的 条评论
为什么被折叠?



