Java 记一次因BOM编码标识的BUG

有一个业务流程是读本地文件,根据某个符合分割,然后提取文件中的信息进行业务处理。

其中分割出的第一列为name,后续处理流程中有根据name找本次流程对应的下载文件。

流程A:读文件 分割 第一行作为name 根据name创建文件夹 下载相应文件

流程B:读文件 根据A生成的文件夹中的name找对应文件 对下载的文件进行处理

出现了一种奇怪的BUG,除了第一行处理失败,找不到对应name,其余全部成功执行。说明流程是没问题的

后来想起可能是因为创建A读取的文本时,用了win10的txt,默认utf-8 bom编码,这个编码会在文本开头处加上一个标识

导致我第一个name其实在A中是带标识的 B中没带标识所以找不到。。。这个标识打印也是打印不出来的。

解决办法:

加上这几行代码后,解决

发布了39 篇原创文章 · 获赞 11 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/he37176427/article/details/88862203