gpt4 book ai didi

java - 从文件读取返回 null

转载 作者:行者123 更新时间:2023-12-01 10:14:57 24 4
gpt4 key购买 nike

我对这个方法有疑问。它返回一个空值,我不知道如何修复它。我看到其他人解释说循环直到达到 null 才会停止,因此返回 null,但我不明白如何解决这个问题。提前致谢

public static int[] readFile(File file) throws IOException {

Scanner fileRead = new Scanner(file);
int a = 0;
while(fileRead.hasNext()) {
a++;
fileRead.nextLine();
}
String[]pieces = new String[a];
while (fileRead.hasNext()) { // i think the error is happening right here
String line = fileRead.nextLine();
pieces = line.split(",");


}
fileRead.close();
int[] piecesNum = new int [pieces.length];
for (int b = 0; b < pieces.length; b++) {
piecesNum[b] = Integer.parseInt(pieces[b]); // line 86

}
return piecesNum;

错误

java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:542)
at java.lang.Integer.parseInt(Integer.java:615)
at Proj5.readFile(Proj5.java:86)
at Proj5.main(Proj5.java:23)

最佳答案

pieces[b] 的结果是 null,并且无法解析为 Integer

尝试以下方法之一:

  1. 处理异常

    try{
    piecesNum[b] = Integer.parseInt(pieces[b]);
    } catch (NumberFormatException e) {
    // do something
    }
  2. 验证内容不为空且为数字

    String piece = pieces[b];
    if(piece != null && piece.matches("\\d*")){
    piecesNum[b] = Integer.parseInt(piece);
    }

关于java - 从文件读取返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35953515/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com