在我的 Java 代码中,我有一个函数可以在 http 请求中从客户端获取文件并将其转换为文件。我有这条线:
byte[] buffer = new byte[8192];
8192 字节 (8 kb) 在这里是什么意思?
这是我得到的答复之一,并希望确保我理解该代码。
在我的 Java 代码中,我有一个函数可以在 http 请求中从客户端获取文件并将其转换为文件。我有这条线:
byte[] buffer = new byte[8192];
8192 字节 (8 kb) 在这里是什么意思?
这是我得到的答复之一,并希望确保我理解该代码。
它使用缓冲区一次读取和写入 8kB 块。这个数字相当随意,但出于性能原因,在写入文件时使用 512 字节的倍数是有意义的,最好是磁盘簇大小的倍数。对于大多数用途来说,8kB 是一个合理的缓冲区大小。
这是字节数组的大小,这意味着您的缓冲区一次将容纳 8192 个字节。
如果我不得不猜测,那就是您用于读取文件的空间量。如果没有其余的代码,我无法判断它是试图全部读取并将其塞进 8k 中,还是一次读取 8k,然后将其转储到文件中。
8192 是通过网络发送的包的最大大小。字符缓冲区[8192];/* 单个数据包通常不大于 8192 字节 */ 512 字节太小。