今天看别人的代码有点看不懂,问一下大家,就4个语句 ( 积分: 50 )

  • 主题发起人 主题发起人 晨晨
  • 开始时间 开始时间

晨晨

Unregistered / Unconfirmed
GUEST, unregistred user!
下面的代码,目的是读第一个0x04000字节组,对不?
为什么要这样写呢?有什么好处?迷惑?
int total = 0x04000;
do
{
total -= is.read(firstBank, 0x04000 - total, total);
// Read the first bank (bank 0)
} while (total > 0);
 
下面的代码,目的是读第一个0x04000字节组,对不?
为什么要这样写呢?有什么好处?迷惑?
int total = 0x04000;
do
{
total -= is.read(firstBank, 0x04000 - total, total);
// Read the first bank (bank 0)
} while (total > 0);
 
is是个流?不过第二参数应是读取的初始位置,流不该是这样的
但看代码所示似乎有一次不能完整读出的可能性,那么读不满total字节
read返回实际读出的字节数
而这段程序将继续等待至读完0x4000处数据
应该是这样的吧
哪儿的代码啊,干嘛用的??
 
is就是InputStream对象。
我查read函数说是没有读到这么多是返回-1的。而且,不够怎么继续读啊?
语句后面的英文是原程序员作的注释。
是一个GB模拟器的源代码。
 
不是吧?一般流的Read方法会返回实际读的字节数。
 
看来作者是怕读不满0x4000字节啊!
我再看了源代码,这个java程序可以在网页上和本机上同时用。
 
多人接受答案了。
 
后退
顶部