通常我们需要从一个文件里读一些数据:
public static void printByByteArray(String filename) throws IOException{
FileInputStream in = new FileInputStream(filename);
byte[] buf = new byte[8*1024];
int len = 0;
int j = 1;
while((len = in.read(buf, 0, buf.length))!=-1){
for (int i = 0; i < len; i++) {
//Integer.toHexString(b), b要求是整形 所以byte類型的數組buf[i]需要和0xff進行與運算
//不懂得可以參見:http://blog.csdn.net/scyatcs/article/details/16887807
String hex = Integer.toHexString(buf[i]&0xff);
//這個if語句是判斷如果buf[i]只有一位數的話就在前面補0,否則直接打印
if (hex.length() == 1) {
System.out.print("0");
}else {
System.out.print(hex+" ");
}
//每10個就換行
if (j++%10 == 0) {
System.out.println();
}
}
}
}