当前位置: 代码迷 >> J2EE >> java 读取文本后 分割成一个字符串数组有关问题
  详细解决方案

java 读取文本后 分割成一个字符串数组有关问题

热度:305   发布时间:2016-04-17 23:58:04.0
java 读取文本后 分割成一个字符串数组问题。


如图。当我获取文本第一行(如:CALL_ID|AH|34)数据是以”|“分割的。然后读出来的结果是”CALL_ID“的count为8。
而我将CALL_ID作为key后放在map里。再get("CALL_ID")就为null。   此情况只在文本第一行第一个字符串有。(第一行绝对没有空格,用trim也没用)。 
windows环境,文本为utf-8编码,用ansi会出现中文乱码。
求大神解救。
另外,用avro序列化再反序列化也出现了这个问题。
------解决方案--------------------

------解决方案--------------------
引用:
不是长度问题。你把CALL_ID
------解决方案--------------------
AH
------解决方案--------------------
34 放到txt文档里。然后另存为utf-8格式。再读出来分割
。 "CALL_ID".equals(strings [0])结果为false。

楼主换个编辑器试试,换个notepad++,或editplus试试。
我之前遇到过类似的情况,在notepad++ 里面输入一段字符串,然后分割后第一个字符串前面总有一个空格。
但是 如果用windows默认的记事本的notepad记事本输入的话,就没有那个空格了。

如果这个还有问题的话,那应该就是编码格式的问题了。
------解决方案--------------------
UTF-8 with BOM前3个字节必然是EFBBBF,它不是文件内容,所以你读的时候要去掉
或者你不要用记事本编辑,换个能用UTF-8无BOM的,比如Editplus,或者你直接用Winhex这种软件把前面三个字节删除。。
  相关解决方案