读取一个流文件,有个循环里面要读取8字节。
c代码为:
bt = br.ReadBytes(8);
Double du = System.BitConverter.ToDouble(bt,0);
asp代码为:
objstr= ssobj.bytestodoublestr(srmObj.Read(8)) //自己写的函数
用java读
用double value=ins.readDouble();方法时,显示的数值不对。
用ins.read(buffer2,begin,8);读出后用高低位转换,结果还是不对到底是怎么回事呢?我java 的基础也有点太差了。请大家帮忙给个思路,或给段代码,谢谢!!

解决方案 »

  1.   

    byte转int或者double不是这么转的
    你先用InputStream读8字节数据到一个byte[]里给你个函数,byte转int的,转double自己修改下吧
    int byteToInt(byte[] b,int offset,int length) {
    int s = 0;
    for(int i = offset; i < offset + length - 1; i ++){
    if(b[i] >=0)
    s = s + b[i];
    else
    s = s + 256 + b[i];

    s = s * 256;
    } if(b[offset + length - 1] >=0)
    s = s + b[offset + length - 1];
    else
    s = s + 256 + b[offset + length - 1]; return s;
    }