2012-04-21 28 views
0

もし私がinput = new BufferedReader(new FileReader(args[0]));のようなコードを持っていて、入力ファイルに行の組が含まれていたら、どうすれば各行の最初の行だけをインポートできますか?言い換えれば、奇数番号の行だけですか? ありがとう特定の行のみを入力から読み込む?

+1

すべての行を読み、偶数行は無視しますか? – Tudor

答えて

1

java.io.LineNumberReaderを使用すると、奇数行(lineNo % 2 == 1)のフィルタリングが簡単になります。あるいは、別のアプローチでは、JDK7を使用している場合は、java.nio.files.Files.readAllLines()メソッドを使用して、繰り返し時に奇数のメソッドをフィルタリングすることができます。

+0

私はこれを使って、 'String line = input.readLine();' while(lineNo%2!= 1) '何かをしていますか? – AkshaiShah

0
String line = input.readLine(); 
while (line != null) { 
    // do something with the line 

    // Skip every other line 
    input.readLine(); 
    // Get next line 
    line = input.readLine(); 
} 
0

このようにするとファイルが読み込まれ、文字列バッファの2行おきに表示されます。

BufferedReader br = new BufferedReader(new FileReader(args[0])); 
String line; 
StringBuffer endResult = new StringBuffer(1000); 
int lineNumber=1; 
while ((line=br.readLine()) != null) { 
    //every odd line will be added, 1, 3, 5 etc 
    if (lineNumber++%2==1) { 
     endResult.append(line+"\n"); 
    } 
} 
関連する問題