情况是这样子的,接收客户上传过来的txt文件,把里面的内容读取出来,格式如下:H 204 REMA SOUTH SAM FISHER 1,000.00 测试
L U-00001978 促销返利 状元古法汤圆 1,000.00
L U-00001978 促销返利 状元古法汤圆 1,000.00
L U-00001978 促销返利 状元古法汤圆 1,000.00
L U-00001978 促销返利 状元古法汤圆 1,000.00
L U-00001978 促销返利 状元古法汤圆 1,000.00首先读取出来每一行的头(没有出现乱码),但出现一个诡异的问题:当把txt文件的字符集修改为UTF-8时上传
header.equals("H")居然为false,但header.equals("L")为true,保存为其他字符集没有出现这个问题。
跪求高人解惑......

解决方案 »

  1.   

    你把header打印出来看看,是什么?
      

  2.   

    分别为:H
            L
            L
            L
            L
      

  3.   


    后台打印如下(其中equals为header.equals("H")):str:H 204 REMA SOUTH SAM FISHER 1,000.00 测试
    ss size:6----header:H---equals:false
    H------------------
    rei_ID:204
    str:L U-00001978 促销返利 状元古法汤圆 1,000.00
    ss size:5----header:L---equals:false
    L------------------
    str:L U-00001978 促销返利 状元古法汤圆 1,000.00
    ss size:5----header:L---equals:false
    L------------------
    str:L U-00001978 促销返利 状元古法汤圆 1,000.00
    ss size:5----header:L---equals:false
    L------------------
    str:L U-00001978 促销返利 状元古法汤圆 1,000.00
    ss size:5----header:L---equals:false
    L------------------
    str:L U-00001978 促销返利 状元古法汤圆 1,000.00
    ss size:5----header:L---equals:false
    L------------------
      

  4.   

    后台打印结果如下(equals为header.equals("H")):
    str:H 204 REMA SOUTH SAM FISHER 1,000.00 测试
    ss size:6----header:H---equals:false
    H------------------
    rei_ID:204
    str:L U-00001978 促销返利 状元古法汤圆 1,000.00
    ss size:5----header:L---equals:false
    L------------------
    str:L U-00001978 促销返利 状元古法汤圆 1,000.00
    ss size:5----header:L---equals:false
    L------------------
    str:L U-00001978 促销返利 状元古法汤圆 1,000.00
    ss size:5----header:L---equals:false
    L------------------
    str:L U-00001978 促销返利 状元古法汤圆 1,000.00
    ss size:5----header:L---equals:false
    L------------------
    str:L U-00001978 促销返利 状元古法汤圆 1,000.00
    ss size:5----header:L---equals:false
    L------------------
      

  5.   

    好奇怪呀H------------------
    这段输出的代码和
    header的定义能看下嘛?
    还有H一直是第一行吗? 换到第二行试试看?
      

  6.   

    感谢所有帮助我的GG,问题的根源已找到,utf-8无BOM字符集的前四个字节有点特殊,导致equals不成功