只从输入中读取某些行?

如果我有一些代码,如input = new BufferedReader(new FileReader(args[0])); 并且输入文件包含成对的行,我怎么才能这样做,所以只导入每行的第一行? 换句话说,每个奇数行只? 谢谢

您可能希望考虑使用java.io.LineNumberReader来简化奇数行( lineNo % 2 == 1 )的过滤。 或者在另一种方法中,如果您使用的是JDK7,则可以使用java.nio.files.Files.readAllLines()方法,并在迭代时再次过滤奇数。

 String line = input.readLine(); while (line != null) { // do something with the line // Skip every other line input.readLine(); // Get next line line = input.readLine(); } 

这样的东西将在文件中读取,并在字符串缓冲区中为您提供每一行。

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