Java Scanner einlesen von txt Dokument InputMismatch

cauchy

Mitglied
Hallo zusammen,
ich schreibe gerade an meiner Bachelorarbeit in Graphentheorie und muss dazu einen großen Graphen in Java einlesen, wobei die Kanten in einem text Dokument gespeichert sind.
Dabei ist jede Zeile eine Kante, die erste Zahl der Startknoten, die zweite Zahl der Zielknoten und Zahlen 3 und 4 sind Kosten bzw Kapazität der Kante. Mein Dokument sieht also so aus:
Code:
116 (Anzahl Knoten)
174 (Anzahl Kanten)
1 2 72 3 \n
2 3 15 98 \n
4 7 66 49 \n
5 6 39 48 \n
6 9 87 97 \n
8 13 31 5 \n
(UTF8 kodiert)
Ich habe das Problem mit der Scanner Klasse gelöst, indem ich zuerst jede Zeile in einen String einlese und dann von dem String in 4 Variablen einlese. Allerdings bekomme ich beim lesen des Strings immer eine InputMismatchException.
Java:
Graph graph = new Graph(false);
        File f = new File("Filepath");
        Scanner in = new Scanner(f);
        int numberVertices = in.nextInt();
        int numberEdges = in.nextInt();

        for (int i=1; i<=numberVertices;i++)
        {
            Vertex vertex = new Vertex(i);
            graph.addVertex(vertex);
        }
        while (in.hasNextLine())
        {
            for (int i =1; i<= numberEdges; i++)
            {
                String s = in.nextLine();
                Scanner inscan = new Scanner(s);
                while (inscan.hasNext())
                {
                    int source = inscan.nextInt();
                    int sink = inscan.nextInt();
                    double cost =inscan.nextDouble();
                    double capacity = inscan.nextDouble();
                    Vertex Source = new Vertex(source);
                    Vertex Sink = new Vertex(sink);
                    Edge edge = new Edge(Source,Sink, cost, capacity);
                    graph.addEdge(edge);
                }
                inscan.close();
            }   
        }
        in.close();

Ich wäre sehr dankbar, wenn jemandem dazu etwas einfällt oder den Code verbessern kann!
Vielen Dank!
 

Robat

Top Contributor
In welcher Zeile wird die Exception denn geworfen?

Ich nehme mal stark an, dass es an der New-Line Escape-Sequence "\n" liegt.

Wenn du int Werte mit scanner.nextInt() einliest, landet das new Line im Puffer. Wenn du den Puffer danach nicht leerst, dann wird der Puffer beim nächsten Methodenaufruf (nextInt in deinem Fall) geleert und es kommt zu dieser Exception.

Gruß
Robert
 

cauchy

Mitglied
Der Fehler wird in der ersten Zeile der while Schleife geworfen.
Ich hatte zuerst das txt File ohne "\n" aber dann wirft es immer eine "NoLineFound" Exception in der ersten Zeile der for Schleife bei in.nextLine()
Irgendeine Idee wie ich das umgehen kann?
Gruß Lisa
 

cauchy

Mitglied
Ich habe gerade auch mal die while Schleife auskommentiert und mir die Strings ausgeben lassen.
Interessanterweise liest es dann Zeile für Zeile und wirft nur am Ende eine "NoNewLine" Exception.
Ich verstehe echt nicht warum es nicht geht...
 

cauchy

Mitglied
Oh entschuldigung. Ich hab die \n dazugeschrieben also es steht wirklich so in der Datei und dann hatte ich nicht mehr die "NoLineFound" Exception aber dafür in while-Schleife eine "ItemMismatch" Exception
 

Robat

Top Contributor
Probier mal anstatt nextInt bzw nextDouble zu benutzen immer mit nextLine bzw next zu arbeiten und dann dein char in den passenden datentyp umzuwandeln :)
 

mrBrown

Super-Moderator
Mitarbeiter
Du solltest die for-Schleife entfernen, das was du da möchtest, hast du durch das while abgedeckt.

Aktuell versuchst du in der for 174 Zeilen einzulesen, in deinem Beispiel sinds ja nur 6
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Java Scanner Zahl einlesen Java Basics - Anfänger-Themen 4
T Möchte Charwert 23C° mit java.util.Scanner einlesen macht Pr Java Basics - Anfänger-Themen 2
F Erste Schritte java.util.Scanner: Beliebig langen Text per Paste in Console eingeben ? Java Basics - Anfänger-Themen 14
N java.util.InputMismatchException Fehler Java Scanner Java Basics - Anfänger-Themen 5
A Scanner Befehl Java Anfänger Java Basics - Anfänger-Themen 8
V Ersätze für Java-Scanner Java Basics - Anfänger-Themen 9
D Java Scanner Java Basics - Anfänger-Themen 9
M java.util.scanner Fehler Java Basics - Anfänger-Themen 5
A Java Scanner Funktioniert nicht Java Basics - Anfänger-Themen 2
W Erste Schritte import java.util.scanner funktioniert nicht Java Basics - Anfänger-Themen 2
P Variablen Abfangen von eingaben per java.util.Scanner und weiter Verarbeitung Java Basics - Anfänger-Themen 7
S Compiler-Fehler Scanner java.util NoSuchElementExeption Java Basics - Anfänger-Themen 8
T Problem mit java-editor + Scanner Java Basics - Anfänger-Themen 9
N Java Scanner HILFE :D Java Basics - Anfänger-Themen 9
S Java Scanner auf Zahlen/Numerische Zeichen überprüfen Java Basics - Anfänger-Themen 15
F java.util.scanner wird übersprungen Java Basics - Anfänger-Themen 9
O java.util.Scanner hängt sich auf Java Basics - Anfänger-Themen 5
Luk10 Java.util.Scanner Java Basics - Anfänger-Themen 11
H ArrayList über java.util.Scanner füllen Java Basics - Anfänger-Themen 5
T import java.util.scanner cannot be resolved Java Basics - Anfänger-Themen 19
J Eclipse und printf und import util.java.scanner; Java Basics - Anfänger-Themen 4
M java.util.Scanner kann nicht aufgelöst werden - warum nicht? Java Basics - Anfänger-Themen 4
K Keine weitere (java.util.)Scanner Eingabemöglichkeit? Java Basics - Anfänger-Themen 5
A wie implementiere ich java.util.Scanner? Java Basics - Anfänger-Themen 12
S Klasse Scanner unter Java nicht gefunden Java Basics - Anfänger-Themen 3
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
DiyarcanZeren Rekursion in Java Java Basics - Anfänger-Themen 5
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Circle.java:5: error: <identifier> expected Java Basics - Anfänger-Themen 2
julian-fr Wie kann ich am besten Java lernen? Java Basics - Anfänger-Themen 17
A Java-Properties und -RessourceBundles Java Basics - Anfänger-Themen 5
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
G In ein java Dokument Ton einbinden Java Basics - Anfänger-Themen 1
C was heisst es wenn java ']' erwartet ? Java Basics - Anfänger-Themen 2
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
J Java Testklasse Java Basics - Anfänger-Themen 5
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
W Java-Code mit Array Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Neue Themen


Oben