Je fais une classe pour lire un objet fichier, c'est enregistré précédemment au fichier (format .txt), mais je reçois l'erreur suivante lorsque vous essayez de charger le fichier:question Scanner: NoSuchElementException
java .util.NoSuchElementException
La méthode est faite de telle manière que l'utilisateur puisse entrer le nom du fichier. Même si on a essayé de déboguer abit et aussi juste se référer au fichier lui-même avec le nom déjà donné (ne pas prendre d'entrée). Voici comment la méthode ressemble:
public void load(String filename) throws FileNotFoundException
{
final String FIELD_STOP = ":";
String loadFile;
loadFile = filename +".txt";
FileReader ansfil = new FileReader(loadFile);
Scanner fileIn = new Scanner(ansfil);
fileIn.useLocale(new Locale("en"));
System.out.println(loadFile);
fileIn.useDelimiter(FIELD_STOP);
int size;
try
{
while(fileIn.hasNext())
{
size = fileIn.nextInt();
archive = new CDarkivImplemented(size);
CD readIn = new CDImplemented();
for(int i = 0; i < size ; i++)
{
readIn = new CDImplemented();
readIn.title = fileIn.next();
readIn.artist = fileIn.next();
readIn.genre = CD.interpretGenre(fileIn.next());
readIn.publisher = fileIn.next();
readIn.year = fileIn.nextInt();
readIn.ID = fileIn.nextInt();
archive.addCD(readIn);
}
}
}
catch(Exception e)
{
System.out.println("Wrong! : " + e);
System.exit(1);
}
fileIn.close();
}
quelle ligne donne l'erreur? –
Etes-vous sûr que vous avez des entiers séparés par deux points dans votre fichier? Il pourrait y avoir une autre chaîne au lieu d'un entier. Vérifiez le contenu de votre fichier. –
Le fichier ne contient que ceci: 50: test: test: pop: test: 2012: 3301: La première valeur est la taille totale remise pour l'archive. Ensuite, la première valeur est égale à la chaîne, la seconde est l'artiste, la troisième est le genre, la quatrième est l'éditeur, puis c'est l'année et une fonction Id générée à partir de la création de l'objet. C'était juste un test rapide pour les méthodes de chargement et d'enregistrement. –