gpt4 book ai didi

java - ByteArrayInputStream 与自己的类

转载 作者:行者123 更新时间:2023-11-29 07:15:51 25 4
gpt4 key购买 nike

我想知道是否是 ByteArrayInputStream java.io 包中的类好用吗?或者,如果要通过使用字节数组将其与自己的类进行比较,例如:

private int pos = 0;
private final byte[] total;

public Reader(final byte[] total) {
this.total = total;
}

public int read() {
return ((int) total[pos++]) & 0xFF;
}

字节不是从文件中获取的,它应该是服务器接收字节/数据包。该函数与 ByteArrayInputStream 中的函数相同。我很好奇是否会使用 ByteArrayInputStream 类,它会增加放入 java 内存中的字节数吗?但基本上,在性能方面,更推荐哪个?

谢谢。

编辑* 我想我已经找到答案了,我想知道其中的 mark() 和 skip() 方法有什么区别?功能好像是一样的,就是一个改变位置,一个读取字节跳过。

最佳答案

read() 的实现与 ByteArrayInputStream 中的非常相似:

public synchronized int read() {
return (pos < count) ? (buf[pos++] & 0xff) : -1;
}

只有额外的开销来自synchronized,我认为可以忽略不计。 ByteArrayInputStream 基本上是 byte[] 的薄包装。你想达到什么目的?

关于java - ByteArrayInputStream 与自己的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9704724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com