byte数组会自增吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了byte数组会自增吗?相关的知识,希望对你有一定的参考价值。

InputStream in = req.getInputStream();
byte[] tmp = new byte[512];
ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
int bytesRead = in.read(tmp);
while (bytesRead != -1)
byteOut.write(tmp, 0, bytesRead);
bytesRead = in.read(tmp);


byte[] bs = byteOut.toByteArray();

问:byte[] tmp = new byte[512]; byte数组初始化512,当inputStream中的字节数大于512时,byte[] tmp是否会自动增长?
现在的实际情况是,要通过HTTP下载一个文本文件。向服务器发起请求,服务器返回一个文件流,现在要将inputStream写入byte数组里,而文件的大小是不确定的,那么byte数组我要设多大呢?

首先,byte直接不会自动增加
第二,看了下你的提问的内容,我觉得问题的焦点似乎不是byte是否会自动增长,而是你想知道每次调用
bytesRead = in.read(tmp);是否会将内容追加到tmp里,
答案是不会
每次都会将读取到内容从tmp[0]开始存放,独到多少存多少,然后将读到的字节数放入bytesRead
所以你要这样处理
while (bytesRead != -1)
byteOut.write(tmp, 0, bytesRead);
bytesRead = in.read(tmp);
//这里将tmp从0到bytesRead 的内容保存到别的地方,
参考技术A 不会的,数组的长度是固定的,要想自增,使用list 参考技术B 不会,应该会产生溢出异常 参考技术C 不会哈,下一次会把上一次的值覆盖 参考技术D 不会

java--运算符问题


5,number
所有的包装类 (Integer, Long, Byte, Double, Float, Short) 是抽象类Number的子类。

 

6.
y=x++ + ++x可以看成是y=(x++)+(++x),当++或者--和其它变量进行运算时,
x++表示先运算,再自增,++x表示先自增再参与运算

7.byte类型和Byte类型的数据相乘,值是int类型必须进行类型转换
例:byte a1=1,a2=3; int a3=(int)a1*a2;








以上是关于byte数组会自增吗?的主要内容,如果未能解决你的问题,请参考以下文章

java short 数组转换 byte数组

c# byte 数组 转 short数组

java byte数组 怎么打印

如何将16进制 转换byte数组

java里面byte数组和String字符串怎么转换

c# byte数组转string