https://www.cnblogs.com/jessezeng/p/6729690.html

项目中经常会从一些文本文件中读取数据进行业务处理,最近遇到一个问题,另外一个部门提供一个txt文本给我们进行业务处理,当我们使用字符流读取文本之后,处理时,发现第一行数据无法匹配,其他数据可以正常处理,第一反应是文本文件可能有问题,可能有一些不可见字符,于是把文本文件拷贝到linux上通过命令查看,发现第一行最前面多了一个<U+FEFF>,问题可能就出在这个地方了,简单测试如下:

1、新建一个txt文件,文件中第一行放一个词语"程序猿",然后保存为UTF-8编码:

2、从文本文件读取数据,然后比较:

 1     public static void main(String[] args) throws Exception {2         String firstline=readFirstLine("wordFile.txt");3         System.out.println(firstline.trim());4         System.out.println("程序猿".equals(firstline));5 6     }7     8     private static String  readFirstLine(String filename)throws Exception{9         try(
10                 BufferedReader reader=new BufferedReader(new FileReader(new File(ClassLoader.getSystemResource(filename).getPath())));
11             ){
12             String str=null;
13             while((str=reader.readLine())!=null){
14                 return str;
15             }
16         }
17         return null;
18     } 

3、运行程序查看结果:

发现读取第一行数据,进行空格处理之后,两个词语不相等。

4、将文件放到linux上查看(使用less命令,其他命令可能看不到效果):

发现词语之前多了一个<U+FEFF> ,问题可能就出在这个地方

5、去掉多余的字符

1)In your terminal, open the file using vim:
vim file_name
2) Remove all BOM characters:
:set nobomb
3) Save the file:
:wq

6、用新文件覆盖之后,再次测试就正常了。

通过上面这几步,一切都很清楚了吧。

读取文本文件时 U+FEFF 导致的奇怪问题相关推荐

  1. 使用字节流读取文本文件时,乱码问题的产生与解决

    问题: 使用字节流读取文本文件时,会将一个汉字劈成两半,一次只能读一半出来,产生了乱码,无法使用.就算是一次读取2个字节出来,也依然不能解决问题. 如何解决乱码问题,读出完整的汉字和中英文混杂的整篇文 ...

  2. java 文件读取 进度_读取文本文件时如何使用Java进度栏?

    我是java swing的新手,我想阅读文本文件.在读取该文件时,我想在java进度栏中显示已读行的百分比.欢迎任何示例代码.我试过了,但我不知道我的逻辑是否正确.我怎样才能做到这一点. import ...

  3. python从文件中读取数据时出现错误_Python 从文件中读取数据

    读取整个文件 # 案例:读取整个文件 # pi_digits.txt 3.1415926535 8979323846 2643383279 # file_reader.py with open ('p ...

  4. python读取txt数据-python读取文本文件数据

    本文要点刚要: (一)读文本文件格式的数据函数:read_csv,read_table 1.读不同分隔符的文本文件,用参数sep 2.读无字段名(表头)的文本文件 ,用参数names 3.为文本文件制 ...

  5. python读取txt文件第一行-python读取文本文件数据

    本文要点刚要: (一)读文本文件格式的数据函数:read_csv,read_table 1.读不同分隔符的文本文件,用参数sep 2.读无字段名(表头)的文本文件 ,用参数names 3.为文本文件制 ...

  6. python调用什么函数实现对文件内容的读取_python读取文本文件数据

    本文要点刚要: (一)读文本文件格式的数据函数:read_csv,read_table 1.读不同分隔符的文本文件,用参数sep 2.读无字段名(表头)的文本文件 ,用参数names 3.为文本文件制 ...

  7. php 导出csv文件bom,php 读取 csv 文件后, uft8bom 导致在页面上显示出现问题的解决方法...

    php 读取 csv 文件后, uft8bom 导致在页面上显示出现问题的解决方法 date.csv: "ID""NAME""EMAIL" ...

  8. ❥关于C++之写入/读取文本文件

    写入到文本文件 使用文件输出的主要步骤如下: 1.必须包含头文件<fstream>. 2.头文件<fstream>定义了一个用于处理输出的ofstream类. 3.需要声明一个 ...

  9. java中 resource_Java从Resource中读取文本文件

    1.设置Resource文件夹 Java是允许开发者将静态资源打到Jar包中,在运行时读取.开发者可以在文件夹"src/main/"下新建一个文件夹"resources& ...

最新文章

  1. 瞥一瞥AI,撩一撩算法,顺便送几本书
  2. gzip android,怎么在Android系统中使用gzip进行数据传递
  3. 定时/计数器(定时和计数的功能)、定时器中断
  4. python判断奇数_python 中x%2 x1 判断偶数奇数 性能对比
  5. OA、CRM、进销存集成了,美女也不再愁了
  6. rtk采点后如何导入cad_ZEMAX:如何导入CAD物体
  7. vagrant启动报错The following SSH command responded with a no
  8. PythonCookbook读书笔记
  9. 20170830 - A - Java IO操作
  10. linux18.04系统下载,Lubuntu 18.04-desktop-amd64
  11. DCEP | 农行将上线数字人民币刷脸支付
  12. 用计算机将复数转换成角度,卡西欧FX-991ES计算器能计算电路里的复数加减乘除然后换算成角度吗?...
  13. uni-app -- 选择图片、上传图片
  14. android7.1 保存图片到系统图库
  15. Python3网络爬虫教程7——SSL数字证书
  16. win10系统点电脑无线图标没反应的,点设置里的显示可用网络没反应
  17. Unity,C#版的动画曲线,Tween:EaseIn,EaseOut,EaseInOut(语法逻辑整理版本,含测试代码)
  18. ESP8266 NodeMCU驱动OLED屏(SSD1306,4PIN,IIC)
  19. 怎么修复索尼摄像机死机断电损坏的MXF视频文件
  20. 支付行业-银行渠道对接

热门文章

  1. 为什么这个618,每个店铺都想让你变会员
  2. matlab如何画趋势线,【高清图解】手把手,教你学会画趋势线!
  3. android浮窗播放器,Android仿优酷视频的悬浮窗播放效果
  4. 硬盘分区工具EASEUS Partition Master Home Edition 8.0.1
  5. 小米八android耗电比例很大,小米手机电量消耗越来越快了,输入这几个数字,续航强劲如新机...
  6. C#畅谈“网络电视”
  7. python购物代码_python简单的购物车程序(含代码)
  8. 太阳能发电板的规格尺寸_太阳能电池板的规格尺寸与电流电压的对应关系
  9. 20145202马超《网络对抗》漏洞分析
  10. crack翻译成中文_crack是什么意思中文翻译