For input string: 1 异常处理

当使用Integer.value("1")的时候却发现抛出了一个NumberFormatException异常,提示信息是For input string: "1",百思不得其解,后来打断点调试发现,“1”这个字符串中居然有两个char字符,第一个为“\ufeff”,网上查资料才明白,因为我这个“1”是从文本中使用inputStream读入的,而文本的保存编码为UTF-8,重点在于windows默认的txt文本编辑器,保存编码为UTF-8时,是会带上BOM的,会在文本开头添加一个“\ufeff”字符,而我的“1”的字符刚好在文本文件的开头,使用editPlus编辑文本,保存时选择没有带BOM的UTF-8格式问题就解决了。

再附上BOM的用途:通常BOM是用来标示Unicode纯文本字节流的,用来提供一种方便的方法让文本处理程序识别读入的.txt文件是哪个Unicode编码(UTF-8,UTF-16BE,UTF-16LE)。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值