使用
File file = new File(imagepath);
FileInputStream fs = new FileInputStream(file);
byte[] buffer = new byte[fs.available()];
fs.read(buffer);
String hexStr = bytes2HexStr(buffer);//byte数组转换成16进制编码的字符串
System.out.println(hexStr);
static String bytes2HexStr(byte[] byteArr) {
String hexString = "0123456789ABCDEF";
StringBuilder sb = new StringBuilder(byteArr.length*2);
for(int i=0;i<byteArr.length;i++)
{
sb.append(hexString.charAt((byteArr[i]&0xf0)>>4));
sb.append(hexString.charAt((byteArr[i]&0x0f)>>0));
}
return sb.toString();
}
请问是什么情况? 有什么解决办法?
除去名字等信息不同以外,在后面的数据中也出现了很多不一样的地方。
/**
}
调试下fs.available()这里的长度是文件的长度么
imagepath和你作为对比的那个文件是一个文件么?特别注意路径是否相同
呃,用了Android端和PC机上都用相同名字的文件之后,发现是一模一样的。。。所以此问题可以终结了