public class IOUtil {
public static void printHex(String fileName)throws IOException{
int i=1;
int b;
FileInputStream in= new FileInputStream(fileName);
while((b=in.read())!=-1){
if(b<=0xf){
System.out.print("0");
}
System.out.print(Integer.toHexString(b)+" ");
if(i++%10==0)
System.out.println();
}
in.close();
}
public static void printHexByByteArray(String fileName) throws IOException{
FileInputStream in=new FileInputStream(fileName);
byte[] buf=new byte[2000*1024];
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] & 0xff)+" ");
if(j++%10==0){
System.out.println();
}
}
in.close();
}
}
用打断点的方式看 前者第14个数是192,后者是-64,导致控制台前者输出的是c0,后者输出0c0 。
而且为啥每次正常运行控制程序 控制台的结果都不一样 感觉跟随机的似的...
Its_forever
相关分类