给大家推荐个靠谱的公众号程序员探索之路,大家一起加油
关于这个异常是因为 创建流 读取目标文件的时候 目标文件里面没有内容
如果跳出这个debug 点击去看
void readFully(byte[] b, int off, int len) throws IOException {
int n = 0;
while (n < len) {
int count = read(b, off + n, len - n);
if (count < 0) {
throw new EOFException();
}
n += count;
}
}
发现count <0会抛出这个异常
而 count的由来 int count = read(b, off + n, len - n);
所以是因为read返回值小于0 所以导致的
有兴趣的可以在往里面翻源代码 可以发现文件为空会返回-1