1
我正在阅读管道分隔文本从平面文件中,并有一个错误解析文本。我是一个古老的爪哇手,但几年来我没有碰过它。下面是代码:诊断Integer.parseInt()错误
String zipString = tokenizerForOneLine.nextToken();
System.out.println("Zip String: -->" + zipString + "<--");
//zipString = "18103"; <<<This works!!!
int zipInt = Integer.parseInt(zipString);
aProvider.setZipCode(zipInteger);
这里是输出:
Zip String: -->�1�8�1�0�3�<--
java.lang.NumberFormatException: For input string: "�1�8�1�0�3�"
NumberFormatException while reading file.
Detailed Message: For input string: "�1�8�1�0�3�"
我天真的猜测是,它是一个编码问题。这可能吗?对我来说完全是无稽之谈。或者我正在做一些非常愚蠢的事情,只是看不到它?
如何诊断编码问题? (我的数据供应商声称它是标准的UNICODE)。
感谢,在提前,
圭多
那么这是奇怪的。在StackOverflow处理后,它显示了一大堆奇怪的问号。现在我**真的**认为这是编码。这些问号不会出现在标准输出显示中(在Netbeans 7.01中)。 –
似乎你是正确的先生.. – Mechkov
@GuidoAnselmi:像以往一样,要检查编码问题,请查看* binary *编辑器(或hexdump或其他)中的文本文件。我的猜测是它是UTF-16。 –