今天再次遇到同一个问题:策划给来一个Txt格式配置表,我用解析类去读取,返回的结果为空。解析类参数是:主键key,文件名fileName,错误提示errorTip。

  写读取语句的时候,主键key我是直接从txt文件中复制出来,它是txt文件的第一个字符串,文件名fileName也是直接复制文件名。

  由于已经不是第一次遇到,这次决定不能再视而不见。

  首先在解析类里打印,发现其他配置表都正常,就是这个读取语句中打印出来的key,看起来一模一样,但是就是无法被识别为与程序读取到的key是相等的,想起上次看博客时提到微软的记事本会在文件里加标记符号,于是删除key再手打,发现依然如故。

  回到读取语句,发现删除直接复制过来的key字符串时,删除完key内容之后,想要继续删除包含该key的“符号时,光标依然在原处,这才发现“符号后有一个看不见的字符。于是google Txt文件头的相关资料,了解到:文本文件编码时,会在文件头添加字节顺序标记(Byte Order Mark), 用于标识文件是采用那种格式的编码。一般的文本编辑器是看不见这个标记的(实测Vim可以看见),由于与文件头相连,所以直接复制文本文件开头的字符串时会把这个标记一起复制。最后导致文本解析类判定读取语句给的key参数(包含BOM)与解析类中文本读取方法所读取到的key不一致。

  解决办法:下次写读取文本语句时,莫偷懒直接复制,自己手动敲即可。或者复制过来的时候,光标跳到string头部删除一次不可见的BOM。

PS:如何生成无BOM的文本文件:

  1、notepad++ 格式栏有转换为无BOM格式的选项。

  2、Vim打开文件可以看到BOM文件头删除即可。

转载于:https://www.cnblogs.com/lwblog/p/4918751.html

Txt格式配置表无法解析的问题——BOM相关推荐

  1. 连连看项目实战之三(解析配置表)

    推荐阅读: 我的CSDN 我的博客园 QQ群:704621321 这是一款连连看,如果只能连连,那估计大家看看就没兴趣了.如果在里面加上一些场景式对话,那么可能就会有意思许多. 今天就带大家学习Uni ...

  2. Python解析pdf转为TXT格式

    #完成pdf到TXT转变了,无法完成TXT到Excel转变import xlwt # 写入文件 import xlrd # 打开excel文件 from xlutils.copy import cop ...

  3. 一个用JAVA解析TXT格式文本文档的程序举例

    实体类 package txt; public class AliDataRecord {private String FSTR_SCATSID;private String FSTR_DESC;pr ...

  4. python读取txt文件写入-Python读写txt文本文件的操作方法全解析

    一.文件的打开和创建 >>> f = open('/tmp/test.txt') >>> f.read() 'hello python! hello world! ...

  5. hive 导出json格式 文件_hive中创建hive-json格式的表及查询

    在hive中对于json的数据格式,可以使用get_json_object或json_tuple先解析然后查询. 也可以直接在hive中创建json格式的表结构,这样就可以直接查询,实战如下(hive ...

  6. Python读写txt文本文件的操作方法全解析

    这篇文章主要介绍了Python读写txt文本文件的操作方法全解析,包括对文本的查找和替换等技巧的讲解,需要的朋友可以参考下 一.文件的打开和创建 ? 1 2 3 4 5 >>> f ...

  7. 城市代码表_从零开始做一个SLG游戏(六)游戏系统以及配置表

    本文主要是来梳理下游戏内的基本系统(虽然只是照搬polytopia的,但是还是要总结一下),并预先做一些配置表,并实现读取. 一.经济系统 1.总述 经济系统可以是整个游戏的核心.在本游戏中只有一种资 ...

  8. 【githubshare】支持有声小说与文本小说,可下载 mobi、epub、txt 格式文本小说,兼容 Win

    分享一款项目管理后台搭建工具:Motor Admin.无需编码,即可快速为应用搭建简单易用的管理后台. 开发者可定制 CRUD 界面,并提供表单生成器.SQL 语句在线运行.数据可视化.应用管理面板. ...

  9. 从零开始做一个SLG游戏(七):游戏系统以及配置表

    本文主要是来梳理下游戏内的基本系统(虽然只是照搬polytopia的,但是还是要总结一下),并预先做一些配置表,并实现读取. 一.经济系统 1.总述 经济系统可以是整个游戏的核心.在本游戏中只有一种资 ...

最新文章

  1. 一晚上就能让你小腹变小的方法 - 健康程序员,至尚生活!
  2. testNG安装一直失败解决方法
  3. Linux 的系统运行级别
  4. PHP进行图片下载的时候,出现图片损坏,无法打开(实质原因,多输出了一个空白字符ZWNBSP )
  5. python文件解除占用_如何使用Python解锁锁定的文件和文件夹(mac)
  6. iOS WebView 加载本地资源(图片,文件等)
  7. 【火炉炼AI】机器学习040-NLP性别判断分类器
  8. 某大型银行深化系统技术方案之六:系统架构之运作流程
  9. 算法:First Missing Positive(求缺失的第一个正整数)
  10. spring框架实现实例化和依赖注入的方式分别是什么_Spring 面试问题
  11. 顺利通过PMP考试 PMP备考总结
  12. idea 导入 android项目以及自带AVD模拟器的使用
  13. 历练熟女给老实木讷男孩的恋爱建议(转贴)
  14. 2022年5月语音合成(TTS)和语音识别(ASR)论文月报
  15. 移动支付“车水码龙”,但也小心“塞翁失码”
  16. UIView的animateWithDuration动画不执行问题
  17. linux u盘分区 mdev 卸载问题,迅为开发板最小Linux自动挂载TF卡/U盘等存储设备
  18. 溯源(六)之溯源的方法
  19. 深入学习Gremlin(5):查询路径path
  20. 矩阵顺时针旋转90度

热门文章

  1. 浅谈jQuery的选择器
  2. [引]生成加密和解密的密钥
  3. bind简单转发实验
  4. 远程管理服务器的具体操作方法
  5. 异步与并行~ReaderWriterLockSlim实现的共享锁和互斥锁
  6. Create Volume 操作(Part I) - 每天5分钟玩转 OpenStack(50)
  7. shell 编程(难题分析)
  8. 二手房买卖砍价最新攻略 帮你花少钱买好房
  9. 例用C# 变更文件夹时间
  10. 如何在asp.net中实现listbox item值上下移动?(转)