UTF-8格式的文本文件程序读取异常
生活随笔
收集整理的這篇文章主要介紹了
UTF-8格式的文本文件程序读取异常
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近在windows服務器上直接創建并手打輸入配置參數,比如設置概率0.6,然后用java程序打開讀取該參數,在本地linux環境下測試完全正常,但是一放到服務器上,就報NotNumber錯誤,查看了下代碼:double percent = Double.paseDouble(FileUtil.readTxt(...)),發現沒有任何問題,百思不得其解。于是把從文件中讀取到的參數打印日志,結果日志顯示的內容令我大跌眼鏡,讀取到的文件內容居然是?0.6。
這個問題沒搞懂,暫時先放一邊,因為之前有過配置json文件的經驗,于是我決定用這個配置也用json格式文本,將0.6改為{"percent":0.6}后不出所料,能夠正常讀取。
換了一種方式解決了這個問題后,我還是對那個bug有點好奇,網上搜了一下大牛們的簡介,得到比較一致的答案是,微軟對UTF-8格式的文本文件進行了“特殊”處理,在每個文件開頭添加了0xefbbbf,于是程序讀取該文件的時候?就出來了。這個說法似乎說得通,但是為什么我用json格式的字符串就能正確的讀取呢?why?
轉載于:https://www.cnblogs.com/chen-proj/p/10929152.html
總結
以上是生活随笔為你收集整理的UTF-8格式的文本文件程序读取异常的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (入门SpringBoot)Spring
- 下一篇: 让 Python 代码运行更快的最佳方式