2012-04-21 82 views
0

如果我有一些代碼,如input = new BufferedReader(new FileReader(args[0]));而輸入文件包含行對,我怎樣才能使它只有每行的第一行被導入?換句話說,每一個奇數行只有? 謝謝僅從輸入中讀取某些行?

+1

閱讀所有行並忽略偶數行嗎? – Tudor 2012-04-21 14:43:19

回答

1

您可能會考慮使用java.io.LineNumberReader來使奇數行(lineNo % 2 == 1)的過濾更簡單。或者在另一種方法中,如果您使用的是JDK7,則可以使用java.nio.files.Files.readAllLines()方法,並在迭代時再次過濾奇數。

+0

如果我使用了,然後做了類似的東西,'String line = input.readLine();'while while(lineNo%2!= 1)'做些什麼? – AkshaiShah 2012-04-21 14:54:21

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

這樣的東西會在文件中讀取並給你在字符串緩衝區中的每一行。

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"); 
    } 
}