为了账号安全,请及时绑定邮箱和手机立即绑定

Integer.Parse 在 excel 获取的字符串上抛出

Integer.Parse 在 excel 获取的字符串上抛出

慕桂英4014372 2022-06-15 15:22:06
在我的程序中,我获取 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 中破坏文件读取。


查看完整回答
反对 回复 2022-06-15
  • 1 回答
  • 0 关注
  • 95 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信