每当我使用HttpConnection
班级于Java ME
, Android
or in BlackBerry
,我用DataInputStream
/DataOutputStream
用于通过远程服务器读取和写入数据的类。然而还有其他类,例如InputStream
/OutputStream
可用于相同目的。我看到有关的问题InputStream
/OutputStream
与 一起上课HttpConnection
。所以想请教专家,这两者有什么区别?
DataInputStream
/DataOutputStream
is an InputStream
/Outputstream
. InputStream
and OutputStream
是您可以使用的最通用的 IO 流,它们是 Java 中所有流的基类。您只能使用它们读取和写入原始字节。DataInputStream
写入格式化的二进制数据。您不仅可以读取简单的未格式化字节,还可以读取Bytes
, Integer
, Double
, Float
, Short
、UTF-8 字符串以及该数据的任意混合。同样可以这样说DataOutputStream
除了它写入这些更高级别的数据类型之外。
A DataInputStream
/DataOutputStream
有一个参考InputStream
/OutputStream
它读取原始字节并将这些字节解释为前面提到的数据类型。
虽然从读取字符串DataInputStream
不是一个好主意,因为它对底层的字符编码做出了不可改变的假设InputStream
。相反,最好使用Reader
它将正确地将字符编码应用于底层字节流以读取数据。这就是为什么DataInputStream
/DataOutputStream
用途有限。通常,最好在进程之间交换文本数据,因为最容易让服务器和客户端就如何解析数据达成一致。交易二进制文件需要进行大量的操作,以确保每个进程都使用相同的语言。如果您有两个 Java 进程,那么这很容易DataInputStream
/DataOutputStream
,但是如果您想添加一个非 Java 的新客户端,您将很难重用它。并非不可能,只是更难。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)