Verwenden des Trennzeichens beim Lesen einer Datei

7

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%     
Robert Spratlin 09.01.2013, 17:29
quelle

5 Antworten

12

Verwenden Sie read.next () anstelle von read.nextLine ()

%Vor%     
muffy 09.01.2013 17:36
quelle
3

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.

%Vor%     
majorbanzai 09.01.2013 17:39
quelle
2

Sie sollten next(); verwenden, wo Sie nextLine();

verwenden

Sehen Sie sich das Tutorial an: Ссылка

Beachten Sie die Zeilen:

%Vor%     
mcalex 09.01.2013 17:35
quelle
1

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.

    
Aniket Inge 09.01.2013 17:33
quelle
0

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.

    
kosa 09.01.2013 17:30
quelle

Tags und Links