package?lianxi;
import?java.io.FileInputStream;
import?java.io.IOException;
?
public?class?IOUtil?{
????/**
?????*?讀取指定文件內(nèi)容,按照16進制輸出到控制臺
?????*?并且每輸出十個byte換行
?????*?@param?fileName
?????*/
????public?static?void?printHex(String?fileName)?throws?IOException{
????????//把文件作為字節(jié)流進行讀操作
????????FileInputStream?in=new?FileInputStream(fileName);
????????int?b;
????????int?i=1;
????????while((b=in.read())!=-1){
????????????if(b<=0xf){
????????????????//單?位數(shù)前面補0
????????????????System.out.print("0");
????????????}
????????????System.out.print(Integer.toHexString(b)+"??");//將整型b轉(zhuǎn)換為16進制表示的字符串
????????????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[20*1024];
????????int?bytes=in.read(buf,0,buf.length);//一次性讀完,說明這個字節(jié)數(shù)組足夠大
????????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();
????????????}
????????}
????????in.close();
????}
?????
}------》這個是IOUtil類package?lianxi;
import?java.io.IOException;
public?class?IOUtilTest1?{
public?static?void?main(String[]?args)?{
try?{
IOUtil.printHex("e:\\wordstudy\\hello.txt");
}?catch?(IOException?e)?{
e.printStackTrace();
}
}
}-----》這個是IOUtilTest1類,是測試IOUtil類的第一個方法的測試類package?lianxi;
import?java.io.IOException;
public?class?IOUtilTest2?{
public?static?void?main(String[]?args)?{
try?{
IOUtil.printHexByByteArray("e:\\wordstudy\\hello.txt");
}?catch?(IOException?e)?{
e.printStackTrace();
}
}
}----》這個是IOUtilTest2類,是測試IOUtil類的第二個方法的測試類這個是第一個測試類運行的結(jié)果?c4 e3 ba c3 c2 f0 0d 0a c4 e3?ba c3 c4 e3 ba c3 b0 a1 a3 ac?0d 0a ce d2 ba dc ba c3 b0 a1?a3 ac 0d 0a b9 fe b9 fe 0d 0a?c0 b2 c0 b2 c0 b2?這是第二個測試類運行的結(jié)果?0ffffffc4 0ffffffe3 0ffffffba 0ffffffc3 0ffffffc2 0fffffff0 0d 0a 0ffffffc4 0ffffffe3?0ffffffba 0ffffffc3 0ffffffc4 0ffffffe3 0ffffffba 0ffffffc3 0ffffffb0 0ffffffa1 0ffffffa3 0ffffffac?0d 0a 0ffffffce 0ffffffd2 0ffffffba 0ffffffdc 0ffffffba 0ffffffc3 0ffffffb0 0ffffffa1?0ffffffa3 0ffffffac?0d 0a 0ffffffb9 0fffffffe 0ffffffb9 0fffffffe 0d 0a?0ffffffc0 0ffffffb2 0ffffffc0 0ffffffb2 0ffffffc0 0ffffffb2?本來兩個結(jié)果應(yīng)該是一樣的。不知道哪里出問題了。求教大神解答。先謝謝了
添加回答
舉報
0/150
提交
取消