在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();
Run Code Online (Sandbox Code Playgroud)
为什么要将此数组初始化为1024?
这称为缓冲,每次在每次循环时都覆盖缓冲区的内容.
只需以块的形式读取文件,而不是一次为文件内容分配内存.
这背后的原因是如果文件太大,你将成为OutOfMemoryException的明确受害者.
并且针对具体问题,即使你可以用500做也不需要1024.但是最低1024是常用的.
| 归档时间: |
|
| 查看次数: |
4845 次 |
| 最近记录: |