UTF-8格式的文本文件程序读取异常
2024-08-31 14:28:50
最近在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?
最新文章
- bzoj 3718
- 表单验证插件----jquery validation
- 安装wine qq2012
- Sina App Engine(SAE)入门教程(10)- Cron(定时任务)使用
- 【狼】openGL 光照的学习
- WebDAV被启用(转)
- Poj 1269 Intersecting Lines_几何模板
- c语言中scanf()、printf()函数
- Qt5窗口设计
- [leetcode-628-Maximum Product of Three Numbers]
- echarts_部分图表配置_堆叠折线图
- 从Windows迁移SQL Server到Linux
- [Swift]LeetCode442. 数组中重复的数据 | Find All Duplicates in an Array
- react初入门
- jenkins jar包上传maven仓库
- leetcode 300最长上升子序列
- [ Deep Learning ] Keras &; TensorFlow安装依赖包
- c++字符串前几位,后几位的截取
- c++中的字符集与中文
- 类名.fromObject(obj)静态方法
热门文章
- SpringMVC Ueditor1.4.3 未找到上传数据
- Go --- 设计模式(模板模式)
- 【Todo】STAR面试法
- 【APUE】信号量、互斥体和自旋锁
- CentOS7 设置系统时间
- [Rust] Load a WebAssembly Function Written in Rust and Invoke it from JavaScript
- Dropbox电面面经
- MySQL基础笔记(一) SQL简介+数据类型
- jQuery经典面试题及答案精选
- OutputStream和InputStream的区别 + 实现java序列化