0

如果我有一些代码,例如input = new BufferedReader(new FileReader(args[0])); 并且输入文件包含成对的行,我该如何制作它,以便只导入每行的第一行?换句话说,只有每条奇数行?谢谢

4

3 回答 3

1

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

于 2012-04-21T14:49:01.763 回答
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();
}
于 2012-04-21T14:50:54.833 回答
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");
    }
}
于 2012-04-21T15:05:48.790 回答