DataInputStream的readFully(byte[] b)方法会一直阻塞直到读取到指定的字节数组b的长度为止,如果读取到了EOF(end of file),也就是到达了文件的末尾,会抛出EOFException异常。这个方法的作用是读取指定长度的字节数据,可以用于读取二进制文件或者网络传输中的字节数据等。
需要注意的是,如果调用该方法读取的字节数据长度大于输入流中的数据长度,也会抛出EOFException异常。此时可以使用read(byte[] b, int off, int len)方法,并且在读取结束后检查读取的字节数是否等于len,如果不相等则表示已经到达了文件末尾或者网络传输中出现了异常。