慕妹6361977
2017-04-16 17:35
public static void printByByteArray(String fileName)throws IOException{
FileInputStream in=new FileInputStream(fileName);
byte[] buf=new byte[10];
// int b=in.read(buf, 0, buf.length);
// int i=1;
// for(int j=0;j<b;j++){
// if(buf[j]<=0xf){
// System.out.print("0");
// }
// System.out.print(Integer.toHexString(buf[j])+" ");
// if(i++%10==0){
// System.out.println();
// }
// }
// in.close();
int b=0;
int i=1;
while((b=in.read(buf, 0, buf.length))!=-1){
for(int j=0;j<b;j++){
if((buf[j] & 0xff)<=0xf){
System.out.print("0");
}
System.out.print(Integer.toHexString(buf[j] & 0xff)+" ");
if(i++%10==0){
System.out.println();
}
}
}
in.close();
}
一直循环着读,比如你写的byte为10,while循环读取输出一次,返回不是-1再次进入循环,知道in.read(buf, 0, buf.length)这个方法读到文件最后,这个方法返回-1,循环结束。
这种模式不是一直读最后输出,而是读一点,然后输出,在读一点
文件传输基础——Java IO流
133754 学习 · 1030 问题
相似问题
回答 2
回答 3