Home > other >  How to deal with NumberFormatException when reading from a csv file
How to deal with NumberFormatException when reading from a csv file

Time:05-23

My task is to read values from a csv file, and import each line of information from this file into an object array. I think my issue is the blank data elements in my csv file which doesn't work for my parsing from string to int, but I have found no way to deal with this. Here is my code:

`fileStream = new FileInputStream(pFileName);
        rdr = new InputStreamReader(fileStream);
        bufRdr = new BufferedReader(rdr);
        lineNum = 0;`    

        while (line != null) {
            lineNum  ;
            line = bufRdr.readLine();
            int fix = 0;
            String[] Values = new String[13];
            Values = line.split(",");
            
            
            int cumulPos = Integer.parseInt(Values[6]);
            int cumulDec = Integer.parseInt(Values[7]);
            int cumuRec = Integer.parseInt(Values[8]);
            int curPos = Integer.parseInt(Values[9]);
            int hosp = Integer.parseInt(Values[10]);
            int intenCar = Integer.parseInt(Values[11]);
            double latitude = Double.parseDouble(Values[4]);
            double longitude = Double.parseDouble(Values[5]);

            covidrecordArray[lineNum] = new CovidRecord(Values[0], cumulPos, cumulDec, cumuRec, curPos, hosp,
                    intenCar, new Country(Values[1], Values[2], Values[3], Values[13], latitude, longitude));

If anyone could help it would be greatly appreciated.

CodePudding user response:

Try

int cumulPos = StringUtils.isEmpty(Values[6])? 0: Integer.parseInt(Values[6]);

CodePudding user response:

you can create one generic method for null check and check if it's null then return empty string or any thing else based on your needs

  int hosp = Integer.parseInt(checkForNull(Values[10]));
   

    public static String checkForNull(String val) {

        return (val == null ? " " : val);
    }
  • Related