[当做这样的事情时,您能解释一下吗?
FileInputStream fis1 = new FileInputStream(path1);
FileInputStream fis2 = new FileInputStream(path2);
byte[] array=new byte[fis1.available()+fis2.available()];
如果我想将字节写入数组:
fis2.read(array);
fis1.read(array);
(方法read())会做什么?它将两个流中的所有字节都写入数组还是不写入?如何将字节以什么顺序写入数组?在规范和文档中找不到。
read(byte[] b)
method javadoc说:
从此输入流中读取最多
read(byte[] b)
个字节的数据到一个字节数组中。此方法将阻塞,直到有可用的输入为止。Returns:读入缓冲区的字节总数,如果由于到达文件末尾而没有更多数据,则返回-1。
这意味着它将“一些”字节读取到数组的开头。
它读取多少字节?该方法返回其读取的字节数。它最多读取数组的整个长度,但是最大数量可能在几千字节范围内。确切的详细信息取决于操作系统和文件系统的实现。
它不会从文件中读取所有字节,并且不能保证字节数组已完全填充。如果调用两次,它将不会两次返回相同的数据。