qq_慕盖茨4301552
2020-10-25 17:57
为什么我IOUtilTest2的和1的输出结果不同,下面是摘取的一段不同的输出结果
这是IOUtilTest2的:
20 20 20 2f 2a 2a 0d 0a 20 20
20 20 20 2a 20 0ffffffe8 0ffffffaf 0ffffffbb 0ffffffe5 0ffffff8f
这是IOUtilTest1的:
20 20 20 2f 2a 2a 0d 0a 20 20
20 20 20 2a 20 e8 af bb e5 8f
IOUtilTest2的代码:
public static void printHexByByteArray(String fileName)throws IOException{
FileInputStream in=new FileInputStream(fileName);
byte[]buf=new byte[20*1024];
/**从in中批量读取字节
* 放入到buf这个字节数组中
* 从第0个位置开始放
* 最多放buf.length个
* 返回的是读取到的字节的个数
*/
int bytes=in.read(buf,0, buf.length);//一次性读完,说明字节数组足够大
int j=1;
for (int i=0;i<bytes;i++){
if (buf[i]<=0xf){
System.out.print("0");
}
System.out.print(Integer.toHexString(buf[i])+" ");
if (j++%10==0){
System.out.println();
}
}
System.out.print(Integer.toHexString(buf[i])+" ");
前面补了0 , 后面这里
nteger.toHexString(buf[i])+
没有去0
if (buf[i]<=0xf){
System.out.print("0");
}你这个代码是前面补0 了吧
文件传输基础——Java IO流
133840 学习 · 1060 问题
相似问题