在我的程序中,我获取 Excel 表格的每一行。当我拆分行时,为了将每个String数组解析为Integer,标题中提到的异常被抛出。该表以这种方式填充:0;1;100;4;1000;8;8...该表已保存,因为.csv这就是我拆分的原因;想法:文件值包含错误字符:我已经检查了 0 宽度字符...代码片段:try { bufferedReader = new BufferedReader(new FileReader(fileName)); while ((line = bufferedReader.readLine()) != null) { if(flag == 0){ tableSize = line.split(";").length; System.out.println("TableSize is: "+tableSize); flag = 1; table1 = new int[tableSize][tableSize]; } String [] tempStrings = line.split(";"); int [] tempInts = new int[tableSize]; for(int i=0; i<tableSize;i++){ tempInts[i] = Integer.parseInt(tempStrings[i]); System.out.println(tempInts[i]); } table1[row] = tempInts; row++; }非常感谢任何帮助!编辑:创建一个新的 .csv 文件 后 NumberFormatException 的相同问题 Stacktrace:java.lang.NumberFormatException: For input string: "0"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 excercise.Main.fillTableByCsv(Main.java:53)at excercise.Main.main(Main.java:22)
1 回答
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
您的 CSV 文件以UTF-8 编码的字节顺序标记开头。例如,如果您在十六进制编辑器中打开文件,您可以看到它:
虽然额外的字节 EF BB BF 不可见,但它们是令人不安的Integer.parseInt
。
有关一些解决方案,请参阅字节顺序标记在 Java 中破坏文件读取。
添加回答
举报
0/150
提交
取消