gpt4 book ai didi

java - 为什么在读取或写入文件时将字节数组初始化为 1024?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:13:38 24 4
gpt4 key购买 nike

在 java 输入或输出流中,总是有一个字节数组大小为 1024。就像下面这样:

        URL url = new URL(src);
URLConnection connection = url.openConnection();
InputStream is = connection.getInputStream();
OutputStream os = new FileOutputStream("D:\\images"+"\\"+getName(src)+getExtension(src));
byte[] byteArray = new byte[1024];
int len = 0;
while((len = is.read(byteArray))!= -1){
os.write(byteArray, 0, len);
}
is.close();
os.close();

为什么要初始化这个数组为1024?

最佳答案

这就是所谓的缓冲,每次循环时都会覆盖缓冲区的内容。

简单地分块读取文件,而不是一次为文件内容分配内存。

这样做的原因是,如果文件太大,您将成为 OutOfMemoryException 的明显受害者。

具体问题是,不必是 1024,即使你可以使用 500。但最小 1024 是常见用法。

关于java - 为什么在读取或写入文件时将字节数组初始化为 1024?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20738542/

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