Lesen bufferedReader Zeile in
Aus der javadoc
public String readLine()
throws IOException
Read a line of text. A line is considered to be terminated by any one of a line feed ('\n'), a carriage return ('\r'), or a carriage return followed immediately by a linefeed.
Habe ich folgenden text :
Now the earth was formless and empty. Darkness was on the surface
of the deep. God's Spirit was hovering over the surface
of the waters.
Lese ich Zeilen wie:
while(buffer.readline() != null){
}
Aber, das problem ist, es erwägt, eine Linie für den string bis vor dem newline.Aber ich möchte zu Bedenken Zeile, wenn string endet mit .
. Wie sollte ich das tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Lesen ein Zeichen in einer Zeit, und kopieren Sie die Daten auf ein StringBuilder -
Können Sie eine
Scanner
und stellen Sie Ihr eigenes Trennzeichen verwendenuseDelimiter(Pattern)
.Beachten Sie, dass die Eingabe-Trennzeichen ein regex, so müssen Sie das regex -
\.
(Sie brauchen, um zu brechen die Besondere Bedeutung der Zeichen.
im regex)java.util.Scanner
statt einer gepufferten reader, und setzen Sie das Trennzeichen zu"\\."
mitScanner.useDelimiter()
.(aber beachten Sie, dass das Trennzeichen verbraucht wird, so müssen Sie es wieder!)
.
Könnte man split den ganzen text von jedem
.
:Nachdem Sie split der text, den Sie bekommen ein array von Zeilen. Man könnte auch einen regex verwenden, wenn Sie mehr Kontrolle haben möchten, z.B. zum aufteilen der text auch von
:
oder;
. Nur google es.PS.: Vielleicht haben Sie zu entfernen die neue-Zeile-Zeichen erst mit etwas wie: