Ich habe wenig Erfahrung mit Trennzeichen und ich muss eine Textdatei lesen, die mehrere Objekte speichert, deren Daten in einzelnen Zeilen getrennt durch Kommas (",") gespeichert sind. Die einzelnen Strings werden dann verwendet, um ein neues Objekt zu erstellen, das zu einer Arraylist hinzugefügt wird.
%Vor%Ich benutze den Scanner, um die Datei zu lesen, aber ich bekomme einen Fehler ohne Zeile gefunden und die gesamte Datei wird in einer Zeichenfolge gespeichert:
%Vor% Ich denke, Sie möchten .next()
aufrufen, was eine Zeichenfolge anstelle von .nextLine()
zurückgibt. Ihr .nextLine()
-Aufruf bewegt sich über die aktuelle Zeile hinaus.
Sie können auch eine String.split () - Funktion verwenden, um den String in ein Array von Strings zu konvertieren, und dann über jeden von ihnen für Ihre Werte zu iterieren.
Wie wird ein kommagetrennter String in ArrayList konvertiert? sehen Sie das für mehr Details.
Ein Problem ist:
%Vor%Gibt true zurück, wenn dieser Scanner ein anderes Token in seiner Eingabe hat. Nicht ganze Zeile. Sie müssen hasNextLine ()
Sie machen nextLine () dreimal. Ich denke, was Sie tun müssen, ist, lesen Sie die Zeile und teilen Sie die Zeile.