Je dois lire les chaînes d'un fichier et les stocker dans un tableau. Cependant, mon professeur ne permet pas à la classe d'utiliser ArrayList. J'ai donc décidé de parcourir le fichier une fois en utilisant hasNextLine()
et en comptant combien de lignes il y a ensuite en créant un tableau et en le rendant égal au nombre de lignes.Java - Erreur: NoSuchElementException: Aucune ligne trouvée
Ensuite, je fait une boucle while qui vérifie si i
est <=
au tableau, et en donnant la array[i]
une valeur de fileInput.nextLine();
. Cependant, je semble constamment obtenir l'erreur NoSuchElementException: No line found
.
Voici mon code:
public static void main(String[] args) throws FileNotFoundException {
int count = 0;
int i = 1;
//Read strings from a file and store in array
Scanner fileInput = new Scanner(new File("file.dat"));
while(fileInput.hasNextLine()) {
fileInput.nextLine();
count++;
}
String [] strArray = new String [count];
while (i <= strArray.length) {
/*Error Here*/ strArray[i] = fileInput.nextLine();
System.out.println(strArray[i]);
i++;
}
}
}
Est-ce que quelqu'un sait d'une solution à mon erreur?
P.S file.dat ressemble à ceci:
FRESH
MEAT
EVERY
SATURDAY
AT
TWELVE
Si vous avez lu toutes les lignes, il y a des lignes pas plus à lire. Créez un nouveau 'Scanner 'depuis le début. –