Ich habe einen regulären Ausdruck erstellt, den ich zu einem Muster kompiliere, um Fortran Real * 8 Zahlen zu finden. Der schwierige Bit ist, dass die Datei aus lese ich eine einzige Zeile mit ein paar Millionen Spalten ist .. Wenn ich dies tun:Probleme mit/Confused von Java.util.Scanners nächste (Muster) -Methode
Scanner recordScanner = new Scanner(recordString);
String foundReal = recordScanner.findInLine(real8Regex);
ich bekommen, was ich suche, aber wenn ich die Verwendung nächste (Muster) -Methode, bekomme ich eine InputMismatchException .. Seltsam, sowohl findInLine und nächsten Return-Strings.
Scanner recordScanner = new Scanner(recordString);
String foundReal = recordScanner.next(real8Regex);
Fehle ich etwas Entscheidendes in der Verwendung der nächsten() Methode?
Danke für die Antwort, wWenn ich es mit hasNext (Pattern) versucht habe, findet die App nichts ... Wenn ich das if (hasNext (Pattern)) mit einer While-Schleife für Scanner bedingte.hasNext() (was einfach wahr ist, wenn es ein anderes Token gibt, das auf meinem Delimiter basiert, der Leerzeichen ist), frisst der Code nur CPU-Zyklen, aber gibt niemals Ergebnisse zurück. – sbook
Ja, weil hasNext den Scanner nicht weiterbringt. Es ist mir nicht klar, was Sie wirklich erreichen wollen. Ein Beispielcode würde helfen. –