Ich versuche, Wort für Wort von Dateien zu erhalten und jeden ersten in ein Wörterbuch aufnehmen und alle dann als Liste zu dokumentieren, aber ich begannDatei Lesefehler in Java
diesen Fehler zu habenFile files[] = directory.listFiles();
ArrayList<String> tockenList = new ArrayList<String>();
for (File f : files) {
Scanner s = null;
int DocID = Integer.parseInt(f.getName().replaceAll("\\D+", ""));
try {
s = new Scanner(f).useDelimiter("[ ,!?. ]+");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Doc doc = new Doc();
while (s.hasNext()) {
tockenList.add(s.next());
String str = s.next(); // this line is 34
Dictionary.getInstance().addElementToListOfTerms(str, DocID);
}
doc.addListOfTokens(DocID, tockenList);
s.close();
alles funktionieren gut beim Debuggen und kein Fehler wird angezeigt, aber beim Ausführen gibt es Folgendes:
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at TeamLab.Main.main(Main.java:34)
Vielen Dank Jungs, ich habe schon. es sollte
while (s.hasNext()) {
String str = s.next();
tockenList.add(str);
Dictionary.getInstance().addElementToListOfTerms(str, DocID);
}
Don lesen Schreib keinen Code wie diesen. Code, der vom Erfolg eines vorherigen try-Blocks abhängt, sollte sich innerhalb dieses try-Blocks befinden. Momentan geht es nach einer 'FileNotFoundException' so weiter, als ob es nicht passiert wäre. – EJP