課程
/后端開發
/Java
/文件傳輸基礎——Java IO流
把int型數據寫入了txt文件,按字符串數據讀取時出現了亂碼,為什么?
2017-04-24
源自:文件傳輸基礎——Java IO流 3-1
正在回答
因為你寫的時候是一個字節一個字節寫的,所以讀的時候也要一個字節一個字節讀。(我不確定是不是這個原因)
兩種方式可以正常讀到:
1、raf.seek(0)后面的語句改為:
int?n?=?raf.readInt(); System.out.println(raf.getFilePointer()); System.out.println(n);
2、raf.seek(0)后面的語句改為:
byte[]?arr?=?new?byte[(int)raf.length()]; raf.read(arr); int?n?=?(int)?(arr[0]?<<?24|arr[1]?<<?16?|?arr[2]?<<?8?|?arr[3]); System.out.println(raf.getFilePointer()); System.out.println(n);
慕粉3230801
舉報
為您介紹IO流的使用,以及對象的序列化和反序列化的內容
1 回答寫入的int數據i讀出時變成了亂碼
1 回答Data流是有指針邏輯嗎?讀完第一個int數據 在讀取int數據就自動讀取到第二個int了嗎?
1 回答文件中既有int類型,也有String類型,怎么讀取
3 回答DataInputStream如何讀取文件數據?
2 回答利用InputStreamReader的read()方法讀取時有亂碼
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-04-25
因為你寫的時候是一個字節一個字節寫的,所以讀的時候也要一個字節一個字節讀。(我不確定是不是這個原因)
兩種方式可以正常讀到:
1、raf.seek(0)后面的語句改為:
2、raf.seek(0)后面的語句改為: