何时逐字节使用read()以及何时使用字节的read(byte[])数组。因为我认为读取read(byte[])数组总是更好。那么你可以给我一个例子,在哪里使用read()逐字节或者read(byte[])字节数组。或者BufferedInputStream。?
Reader也是如此。
发布于 2016-04-02 16:12:05
有时,您无法分配输入缓冲区(非常受限的内存),因此需要逐个字节地处理输入。
BufferedInputStream真正要做的就是为您管理一个byte[]缓冲区,并在幕后调用read(byte[])。然后,您可以一次调用一个字节的read(),而不必担心系统调用的开销。
如果您只想读取N个字节并存储它们,那么分配一个byte[N]并将其传递给read(byte[])是非常好的。
发布于 2016-04-02 16:20:41
这是我之前考虑过的事情,我所做的决定可能会对你有所帮助。所以,这是我的2分钱。
在某些情况下,假设您想要读入一百万字节的数据。传递这些字节的数组将需要一百万字节的顺序分配。在受限的环境中,这可能是非常有问题的。因此,您最好逐个字节地读取,然后根据需求对它们进行处理。
ByteBuffer和sort,只是帮助你以一种更简单、更流畅的方式管理对字节数组的访问。
https://stackoverflow.com/questions/36370810
复制相似问题