首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >何时使用read()、read(byte[])或BufferedInputStream?

何时使用read()、read(byte[])或BufferedInputStream?
EN

Stack Overflow用户
提问于 2016-04-02 16:06:09
回答 2查看 174关注 0票数 1

何时逐字节使用read()以及何时使用字节的read(byte[])数组。因为我认为读取read(byte[])数组总是更好。那么你可以给我一个例子,在哪里使用read()逐字节或者read(byte[])字节数组。或者BufferedInputStream。?

Reader也是如此。

EN

回答 2

Stack Overflow用户

发布于 2016-04-02 16:12:05

有时,您无法分配输入缓冲区(非常受限的内存),因此需要逐个字节地处理输入。

BufferedInputStream真正要做的就是为您管理一个byte[]缓冲区,并在幕后调用read(byte[])。然后,您可以一次调用一个字节的read(),而不必担心系统调用的开销。

如果您只想读取N个字节并存储它们,那么分配一个byte[N]并将其传递给read(byte[])是非常好的。

票数 0
EN

Stack Overflow用户

发布于 2016-04-02 16:20:41

这是我之前考虑过的事情,我所做的决定可能会对你有所帮助。所以,这是我的2分钱。

在某些情况下,假设您想要读入一百万字节的数据。传递这些字节的数组将需要一百万字节的顺序分配。在受限的环境中,这可能是非常有问题的。因此,您最好逐个字节地读取,然后根据需求对它们进行处理。

ByteBuffer和sort,只是帮助你以一种更简单、更流畅的方式管理对字节数组的访问。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36370810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档