首页 > 编程语言 > 详细

java流处理遇到bom的问题

时间:2015-04-18 18:57:12      阅读:237      评论:0      收藏:0      [点我收藏+]

一.简介

BOM(Byte Order Mark)---字节顺序标记。

  类似WINDOWS自带的记事本等软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。Windows 就是使用 BOM 来标记文本文件的编码方式的。

  在用记事本之类的程序将文本文件保存为UTF-8格式时,记事本会在文件头前面加上几个不可见的字符(EF BB BF),就是所谓的BOM(Byte Order Mark)

二.遇到的问题

  在用java读取一个json文件时,由于对方用的UTF-8 (有BOM)编码,读取的内容的最前端会有几个默认的字符。

三.解决

  使用工具类

  参考地址:http://koti.mbnet.fi/akini/java/unicodereader/, 下载其中两个文件:UnicodeStream和UnicodeReader

    以UnicodeReader为例:

FileInputStream fis = new FileInputStream(file);  
UnicodeReader ur = new UnicodeReader(fis, "utf-8");  
BufferedReader br = new BufferedReader(ur);  

  

java流处理遇到bom的问题

原文:http://www.cnblogs.com/hwu2014/p/4437784.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!