Android图片转十六进制字符串,无法获取第一位。

这是用UltraEdit文本编辑器采用16进制编码,注意看第一行第一列的89
![然后这是使用

 FileInputStream fs = new FileInputStream(imagepath);
 BufferedInputStream bis = new BufferedInputStream(fs);

然后对获取的buffer进行bytes2HexStr(buffer),然后进行输出,结果少了第一位的89。这是为什么? 有什么方法可以获得这个第一位?
](https://img-ask.csdn.net/upload/201807/20/1532090224_572414.png)

bytes2HexStr怎么实现的,是不是其中for循环从下标1开始了。
buffer这个变量在哪里定义的,调试看下,在其中,是不是就少了第一个字节。

附上完整代码,感觉应该不是下标的问题。

 public void sendPhoto(String imagepath, String imagename) throws Exception{
        FileInputStream fs = new FileInputStream(imagepath);
        BufferedInputStream bis = new BufferedInputStream(fs);
        int mBufferSize = 1024*1024;
        byte[] buffer = new byte[mBufferSize];
        int photosize = bis.read();
        int pageCount = (int)Math.ceil(((double)photosize / (double)mBufferSize));
        System.out.println("pageCount="+pageCount);
        int len = 0;
        int i = 0;
        //发送一个命令包
        sendOrder(imagename, photosize, pageCount);

        //读取文件,并将数据发送到服务端,并接收服务端返回的结果。如果传输失败,就重新传输
        for(i = 0; i < pageCount; i++){
                bis.skip( i * mBufferSize);//文件位置定位
                len = bis.read(buffer);//得到内容, len记录得到内容的长度
                String hexStr = bytes2HexStr(buffer);//byte数组转换成16进制编码的字符串
                System.out.println("hesStr length = " + hexStr.length());
                /*进行测试*/System.out.println(hexStr);
                                }
        System.out.println("i="+i);
        fs.close();
        bis.close();
}
static String bytes2HexStr(byte[] byteArr) {
        if (null == byteArr || byteArr.length < 1) return "";
        StringBuilder sb = new StringBuilder();
        for (byte t : byteArr) {
            if ((t & 0xF0) == 0) sb.append("0");
            sb.append(Integer.toHexString(t & 0xFF));  //t & 0xFF 操作是为去除Integer高位多余的符号位(java数据是用补码表示)
        }
        return sb.toString();
    }

知道是什么问题了。
原来是方法用错了,int photosize = bis.read(); 是读取第一个字节的数据,并不是读取大小的,而且读完数据之后bis会指向下一个字节。
除此之外,len = bis.read(buffer);//得到内容, len记录得到内容的长度 在末尾的时候,会返回-1,所以不能使用len来作为函数的形参。