2012-03-26 88 views
1

荫试图读取二进制文件到存储器,并通过存储块的起始地址,以本机函数:访问字节元素

Memory image = new Memory(length); 
int offset = 0; 
int numRead = 0; 
    try 
    { 
    while (offset < image.size() && (numRead = in.read(image.getByteArray(0,(int)image.size()), offset, (int)image.size() - offset)) >= 0) 
    { 
     offset += numRead; 
    } 

    if (offset < image.size()) 
    { 
     throw new IOException("Could not completely read file " + fileFileName.getName()); 
    } 
    in.close(); 
    } 
    catch(Exception IOException) 
    { 
     System.out.println("\nError Occured in try block!!!"); 
    } 
    byte imageByte = image.getByte(0); 

的问题是,imageByte的值是 - 60而不是127.我通过采取一个字节数组(而不是内存)并将文件读入它来检查。但它也显示了数组[0] 127。这里有什么问题?

+0

请添加您的决议答案并将其标记为例外。 – lockstock 2012-03-26 06:08:21

回答

0

确定我解决了这个问题:d自getByteArray()返回一个新的字节数组,该数据已被复制到新的字节数组和存储区域,我想使用仍然未初始化