2009-04-01 7 views
14

BufferedReader.readLine()のJavadocは言う:BufferedReader.readLine()に相当するものがありますか?これにより、行末の文字が何であるかを選択できます。

ラインがラインフィードのいずれか(「の\ n」)、 キャリッジリターン(「\ rを」)、またはキャリッジリターンで終了すると考えられます直後に改行が続きます。

私は、これよりもわずかに優れた制御が必要です(たとえば、行末が "\ r \ n"であることを指定できるようにするため、 "\ n"自体が行を終了しないようにします)。

これを実行するJDKまたはライブラリ関数はありますか?

+0

私は、テキストファイルがプラットフォームに関係なく同じように動作することができると思われるので、その詳細を隠します。 –

答えて

12

Scannerクラス使用してみてください:あなたはBufferedReaderのを必要のあるものを使用すると、場合によっては

String line = Scanner(file).useDelimiter("\r\n").next(); 
+0

素晴らしい!これはまさに私が必要とするもののように見えます。ありがとう。 –

+3

ScitterはIteratorスタイルのAPI(hasNext/next)を使用し、入力がなくなるとnullを返すのではなくNoSuchElementExceptionをスローする –

0

これを実現する標準的なAPIはわかりません。

WHOLEファイルを文字列に読み込み、目的の終了文字で分割することは簡単です。

for(String line: testFile.split("\r\n")){ 
... 
} 
+0

残念ながら、私たちのファイルは一般に、これが動作するには大きすぎます。 –

関連する問題