相关疑难解决方法(0)

字节顺序标记用Java解压缩文件读取

我正在尝试使用Java读取CSV文件.一些文件在开头可能有一个字节顺序标记,但不是全部.当存在时,字节顺序与第一行的其余部分一起被读取,从而导致字符串比较出现问题.

是否有一种简单的方法可以跳过字节顺序标记?

谢谢!

java byte-order-mark utf-8

106
推荐指数
6
解决办法
7万
查看次数

输入字符串"1"的java.lang.NumberFormatException

所以,我有一个真正困扰我的问题.我有一个简单的解析器,我在java中.这是相关代码:

while( (line = br.readLine())!=null)
{
    String splitted[] = line.split(SPLITTER);
    int docNum = Integer.parseInt(splitted[0].trim());
    //do something
}
Run Code Online (Sandbox Code Playgroud)

输入文件是CSV文件,文件的第一个条目是整数.当我开始解析时,我会立即获得此异常:

Exception in thread "main" java.lang.NumberFormatException: For input string: "1"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.parseInt(Integer.java:615)
at dipl.parser.TableParser.parse(TableParser.java:50)
at dipl.parser.DocumentParser.main(DocumentParser.java:87)
Run Code Online (Sandbox Code Playgroud)

我检查了文件,确实有1作为它的第一个值(该字段中没有其他字符),但我仍然收到消息.我认为这可能是因为文件编码:它是UTF-8,带有Unix端线.该程序在Ubuntu 14.04上运行.欢迎任何建议在哪里寻找问题.

java encoding parsing

25
推荐指数
1
解决办法
3114
查看次数

标签 统计

java ×2

byte-order-mark ×1

encoding ×1

parsing ×1

utf-8 ×1