Erreur java.lang.NumberFormatException: Pour la saisie de texte: “”

Je suis en train de lire ce fichier

C101

VEHICLE
NUMBER     CAPACITY
  25         200

CUSTOMER
CUST NO.  XCOORD.   YCOORD.    DEMAND   READY TIME  DUE DATE   SERVICE   TIME

    0      40         50          0          0       1236          0   
    1      45         68         10        912        967         90   
    2      45         70         30        825        870         90   
    3      42         66         10         65        146         90   
    4      42         68         10        727        782         90   
    5      42         65         10         15         67         90   
    6      40         69         20        621        702         90   
    7      40         66         20        170        225         90   
    8      38         68         20        255        324         90   

Mais quand je lis le fichier, le programme me lance cette exception:

Exception in thread "main" java.lang.NumberFormatException: For input string: ""
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:504)
    at java.lang.Integer.parseInt(Integer.java:527)
    at VRP.main(VRP.java:43)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)

Je cheked mon code et de débogage, mais je ne trouve pas le problème.

J'ai utilisé un tableau pour enregistrer tous les espaces entre les colonnes (je n'ai lu que les quatre premières colonnes), puis une liste de tableaux, mais il n'a pas travaillé.

    public static void main(String[] args) throws Exception {

    File f = new File("C101.txt");
    FileReader fr = new FileReader(f);
    BufferedReader reader = new BufferedReader(fr);

    String nada = reader.readLine();  //C101
    nada = reader.readLine();         //espacio en blanco
    nada = reader.readLine();         //vehicle=25
    nada = reader.readLine();         //number, capacity
    nada = reader.readLine();         //25, 200
    nada = reader.readLine();         //espacio en blanco
    nada = reader.readLine();         //customer
    nada = reader.readLine();         //encabezados
    nada = reader.readLine();         //espacio en blanco

    String[] espacios;
    int capacity = 200;
    int custno, xcoord, ycoord, demand;

    ArrayList<String> guardar = new ArrayList<String>();

    while (reader.ready()) {
        espacios = reader.readLine().trim().split(" ");
        for (int i = 0; i < espacios.length; i++) {
            guardar.add(espacios[i]);
        }
        custno = Integer.parseInt(espacios[0]);
        xcoord = Integer.parseInt(espacios[1]);
        ycoord = Integer.parseInt(espacios[2]);
        demand = Integer.parseInt(espacios[3]);
    }
}

Désolé pour les inconvénients et vous remercions pour votre temps.

OriginalL'auteur ArCiGo | 2014-02-03