关于读取本地text文件,自动被添加空格的问题
Posted 脑白金
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于读取本地text文件,自动被添加空格的问题相关的知识,希望对你有一定的参考价值。
最近做一个小程序,读取本地指定路径下的text文件,逐行获取text文本然后再进行处理,结果遇到了一个奇葩问题,先插个图片给各位看官
坑:本地text文件中数据为1123/10(数据反复检查无空格,换行之类),经过截取后,str1=1123 str2=10,可是打印结果显示str1.length()=5
问题原因:不详,本人菜鸟没弄懂,欢迎各位看官各显神通
问题原因百度:
unicode编码为65279的字符叫“ZERO WIDTH NO-BREAK SPACE”即没有宽度的空格符,本质上也是null值,但是不同于null。byte-order mark(BOM)是位于码点U+FEFF的统一码字符的名称。当以UTF-16或UTF-32来将UCS/统一码字符所组成的字符串编码时,这个字符被用来标示其字节序。它常被用来当做标示文件是以UTF-8、UTF-16或UTF-32编码的记号。说白了就是位于文本最前面用来标识该unicode编码的文本内容是以UTF-8、UTF-16或UTF-32编码的。通过查询发现windows的记事本程序在打开文本内容后会自动添加BOM,我怀疑是那个模块在编码的时候用记事本编辑过代码,然后在模板或其他可能的文件中添加了BOM。
解决方法:如上对char类型首位进行判断,如果首位存在问题则进行处理.
以上是关于关于读取本地text文件,自动被添加空格的问题的主要内容,如果未能解决你的问题,请参考以下文章
关于在Spark集群中读取本地文件抛出找不到文件异常的问题
关于在Spark集群中读取本地文件抛出找不到文件异常的问题
关于VSCode如何缩进两个空格
unityc#读取本地文件返回文件不存在
如何用angularjs读取本地json
关于Gvim中textwidth被自动设置成78造成输入时自动换行的问题