问题解决了,不是有 BUG,关键代码如下:byte[] data = [BIG_LENGTH]; InputStream in = new FileInputStream("data.dat"); int n = 0, i; while() { i = in.read(data, n, BIG_LNEGHT - n); if (i <= 0) break; n += i; }这就样就可以读完了,大家可以把每次的 i 值打印出来查看,你会发现每次 i 的值都是 512 或者其它 (估计是 Java 默认的缓冲大小,或者每次读入的最大数据量)--------------- 虽然没有人回答,不过也要放分啊,凡是 UP,大家都有分。
InputStream in = new FileInputStream("data.dat");
int n = 0, i;
while() {
i = in.read(data, n, BIG_LNEGHT - n);
if (i <= 0) break;
n += i;
}这就样就可以读完了,大家可以把每次的 i 值打印出来查看,你会发现每次 i 的值都是 512 或者其它 (估计是 Java 默认的缓冲大小,或者每次读入的最大数据量)---------------
虽然没有人回答,不过也要放分啊,凡是 UP,大家都有分。