DataInputStream/DataOutputStream类与InputStream/OutputStream类之间的区别

2023-12-25

每当我使用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(使用前将#替换为@)

DataInputStream/DataOutputStream类与InputStream/OutputStream类之间的区别 的相关文章

随机推荐