一般是用DataOutputStream写出的文件内容,才用DataInputStream来读!!!而且一般是按顺序读,不用循环,你仔细看看书再调试呀!!

解决方案 »

  1.   

    这是datainputstream 中的readint()方法的实现
        public final int readInt() throws IOException {
    InputStream in = this.in;
    int ch1 = in.read();
    int ch2 = in.read();
    int ch3 = in.read();
    int ch4 = in.read();
    if ((ch1 | ch2 | ch3 | ch4) < 0)
         throw new EOFException();
    return ((ch1 << 24) + (ch2 << 16) + (ch3 << 8) + (ch4 << 0));
        }
    这就是为什么。