网站首页> 博客> 关于使用java语言读取文件时候头部出现\uFEFF问题的解决

关于使用java语言读取文件时候头部出现\uFEFF问题的解决

好文 2480
EKOE
EKOE 2019-10-11
收藏

1.问题产生的原因


这个问题出现的原因是因为文件以UTF-8-BOM编码保存。

2.什么是BOM?


BOM = Byte Order Mark

BOM是Unicode规范中推荐的标记字节顺序的方法。比如说对于UTF-16,如果接收者收到的BOM是FEFF,表明这个字节流是Big-Endian的;如果收到FFFE,就表明这个字节流是Little-Endian的。

UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明“我是UTF-8编码”。BOM的UTF-8编码是EF BB BF(用UltraEdit打开文本、切换到16进制可以看到)。所以如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。


3.用其他软件解决


在win10系统中用记事本无法将文件保存未UTF-8格式,但是可以通过notepad++等软件打开后通过“编码 ->使用UTF-8编码”修改文件编码格式。


4.在代码中解决


或者在代码读取的时候进行转换:

if(line.startsWith("\uFEFF")){    
   line = line.replace("\uFEFF", "");
}


通过以上方式都可以将文件头部出现的“\uFEFF”问题解决。

  • 没有任何评论
个评论
EKOE

EKOE (青铜)

85金币 (0)粉丝 (2)源码

一个努力努力再努力的程序猿

 

加入微信群,不定期分享源码和经验
签到活跃榜 连续签到送额外金币
最新博客
校园跑腿系统外卖系统软件平台大学生创业平台搭建 464
壹脉销客智能名片CRM系统小程序可二开源码交付部署 452
为啥没搞了 652
Nginx 的 5 大应用场景,太实用了! 931
CentOS 8-stream 安装Postgresql 详细教程 1095
JAVA智慧校园管理系统小程序源码 电子班牌 Sass 模式 1055
Java智慧校园系统源码 智慧校园源码 智慧学校源码 智慧校园管理系统源码 小程序+电子班牌 800
Java智慧校园系统源码 智慧校园源码 智慧学校源码 智慧校园管理系统源码 小程序+电子班牌 781
致远OA权限 1272
发博客会有金币吗 816