2017-05-06 3 views
0

BufferedReader 's readline() liest eine Zeile, die durch' \ n 'definiert wird, ist es möglich, eine Zeile zu lesen, die durch ein anderes Trennzeichen definiert ist, z. ^B? DankJava BufferedReader liest Zeile nach benutzerdefiniertem Trennzeichen

+1

Nicht nur '\ n':" Eine Zeile wird durch einen Zeilenvorschub ('\ n'), einen Wagenrücklauf ('\ r') oder einen Wagenrücklauf, gefolgt von a, beendet Zeilenvorschub. " –

+0

Nein, Sie können das nicht direkt mit 'BufferedReader' machen, aber Sie können nur in Bytes lesen und sich selbst nach einem benutzerdefinierten Delimeter scannen. –

+0

Wie wäre es also mit dem Schreiben einer Klasse, die BufferedReader ähnlich ist, und überschreiben Sie die readline() Methode? – randomp

Antwort

2

Sie können es nicht mit BufferedReader tun, können Sie jedoch Scanner verwenden und useDelimiter() Methode aufrufen, z.B .:

Scanner scanner = new Scanner(new FileInputStream("<file>")); 
scanner.useDelimiter("\b"); 

Here's die javadoc.

+0

was ist, wenn es eine große Datei ist? Wird es Speicherprobleme verursachen? – randomp

+0

Es sollte in Ordnung sein, wenn Sie jeweils eine Zeile verarbeiten und nicht alles im Speicher ablegen. –

Verwandte Themen