除了字节通过仅消耗 8 位存储而不是32 位来节省内存的事实integer
。它还有哪些其他实际用途?我在一篇文章中读到,当我们处理来自网络或文件的数据流时,它很有用。当您处理可能与 Java 的其他内置类型不直接兼容的原始二进制数据时,它们也很有用。任何人都可以用例子来解释这些吗?并陈述一些更实际的用途?
问问题
14491 次
3 回答
4
当您阅读时,字节在读取位流时很有用
在说出原因之前,我先问你一个问题,一个字符表示为多少位或字节?8位/1字节。我希望你在这里得到字节的原因。
读取位流时使用字节的原因是,当您以字节为单位读取流时,每次读取时,您的字节类型变量中都会有一个字节的数据。即1个字符。因此,在阅读时,您将一次获得一个角色。
机器也理解位,因此字节也可以派上用场,当从键盘、文件、数据流等任何输入读取时,我们更喜欢字节。同样,当写入设备监视器时,输出流、文件等字节会派上用场。
周围的一切都是 10100010 的倍数,因此当您不确定发送者的期望或接收者的期望时,请使用字节。
于 2012-09-28T06:12:21.077 回答
2
通常字节数组用于序列化(到磁盘、网络流、内存流等)。一个简单的例子可能是这样的(取自这里):
Object object = new javax.swing.JButton("push me");
try {
// Serialize to a file
ObjectOutput out = new ObjectOutputStream(new FileOutputStream("filename.ser"));
out.writeObject(object);
out.close();
// Serialize to a byte array
ByteArrayOutputStream bos = new ByteArrayOutputStream() ;
out = new ObjectOutputStream(bos) ;
out.writeObject(object);
out.close();
// Get the bytes of the serialized object
byte[] buf = bos.toByteArray();
} catch (IOException e) {
}
字节数据类型的另一种用法也与图像有关。例如,您可以执行以下操作byte[] pixels = ((DataBufferByte) bufferedImage.getRaster().getDataBuffer()).getData();
:(取自此处)来访问像素相关信息。
于 2012-09-28T05:46:57.113 回答
1
byte
是 java 中的 8 位有符号原始类型。它在我们以字节形式处理数据的情况下很有用,例如“从/向文件读取/写入字节数据”。您可以在此处找到最佳实际示例。
于 2012-09-28T05:55:09.253 回答