System.out.print(String.format("%02x ", b));
2017-12-25
别纠结家蛙还是抓蛙了。反正2个读法都是错的。
英 [ 'dʒɑ:və ] 美 [ ˈdʒævə, ˈdʒɑvə ]
英 [ 'dʒɑ:və ] 美 [ ˈdʒævə, ˈdʒɑvə ]
2017-12-23
叫“禹爸爸”同志的评论点赞数第二的我不知道点赞的都怎么想的,说明你们连read(byte[] bytes,int off,int len)都没有搞清楚,建议回到一上节课去补一下。
2017-12-19
byte类型转化int需要在高位补1,老师在代码中已经写了 Integer.toHexString()& 0xff,这里是位运算取低8位,只需要改动判断 if((buf[i]&0xff)<=0xf),老师最后在红字里已经说明,你自己留着上节课的判断能怪谁呢,所以好好学吧
2017-12-19
我觉得read()方法的返回值要特别说明一下,不带参数的返回的是读出单个字节的int表示方式,而三个参数的read(byte[] b, int off, int len)方法,返回值是一共读了多少个字节,虽然都是int,但是含义不一样,在前面的2个例子中,有的人很可能把int返回值都理解成字节数量,导致看不懂为什么要转换成16进制输出
2017-12-14
不添加flush()方法明显比加flush()方法块太多啊,而且flush()方法放在循环体中太影响效率了吧,每循环一次都要刷新缓存。放在循环体外面应该更好一点吧。
一边读,一边写好不好? 还是一次性的把文件读到字节数组,利用FileOutputStream 写入到目标文件输出流 ?
2017-12-11