為什么我在函數(shù)中向指定文件寫入int a =10,運行后。目標(biāo)文件沒有顯示10,但是調(diào)用printHex函數(shù)卻可以看到打印出10
public?static?void?main(String[]?args)?throws?IOException?{ ???????? ????????//如果文件不存在,則直接創(chuàng)建,存在則刪除后創(chuàng)建 ????????FileOutputStream?out?=?new?FileOutputStream("F:\\java\\wds.txt"); ????????//這樣寫,則直接在文件后面添加輸出的內(nèi)容 ????????//FileOutputStream?out?=?new?FileOutputStream("F:\\java\\wds.txt",true); ????????//向文件中寫入'A'的低字節(jié)(后八位) ????????out.write('A'); ????????//寫入字符串,應(yīng)將字符串轉(zhuǎn)換成字符數(shù)組 ????????String?s?=?"十幾個ID死了"; ????????byte[]?b?=?s.getBytes(); ????????System.out.println(b.length); ????????for?(byte?c?:?b)? ????????{???????????????????? ????????????out.write(c); ????????} ????????out.write(b); ????????//寫入整數(shù) ????????int?a?=?10; ????????for(int?i?=3;i>=0;i--) ????????{ ????????????out.write(a>>>i*8); ????????} ???????? ????????out.close(); ???????? ????????IOUtils.printHex("F:\\java\\wds.txt"); ???????? ????}
12
65 202 174 188 184 184 246 73 68 203
192 193 203 202 174 188 184 184 246 73
68 203 192 193 203 00 00 00 010
2018-08-14
我也是遇到了這個問題,我知道問題所在,但是現(xiàn)在還沒有找到解決的方法,這個問題和前面有一節(jié)的是一樣的,寫入數(shù)字會有錯誤,會亂碼,通過我的檢測,這個數(shù)字寫入文件會變成ASCII存儲,你可以把數(shù)據(jù)改一下,對照ASCII碼表,就會發(fā)現(xiàn)輸入的數(shù)字是一一對應(yīng)的。然而我還沒有解決的辦法。。。。
2017-07-08
16進(jìn)制10應(yīng)該是00 00 00 0a