为什么我的bufferedreader只读取每一行?

时间:2016-11-28 18:28:48

标签: java list reader buffered

我有一个像这样的bufferedreader:

BufferedReader br = BufferedReader(new FileReader(("Output/pointsSorted.txt")));

    String line;
    while((line = br.readLine()) != null){
        System.out.println(br.readLine());
    }
    br.close();
}

但它只读取每一行,我不明白为什么。

这是读者阅读的文件:

bendsan: 1000
gotr_gotey: 87
lordelain: 87
nightbot: 87
vellsain: 87
r3l10n: 86
skalrayi: 85
brom13: 84
llecrezzef: 84
cloudinger: 74
littleangelswing: 60
n3belmacht: 43
mrscandy_: 32
sluckzz: 31
elboy717: 30
assassinenfan: 18
msurai: 18
woischdesdu: 16
daspaddy: 14
sirfullmetal: 10
daranun: 1

这是输出:

gotr_gotey: 87
nightbot: 87
r3l10n: 86
brom13: 84
cloudinger: 74
n3belmacht: 43
sluckzz: 31
assassinenfan: 18
woischdesdu: 16
sirfullmetal: 10   

你可以看到每一秒都被跳过。

3 个答案:

答案 0 :(得分:0)

因为您正在打印br.readLine()而不是line,所以每次循环迭代读取2行(但只打印一行)。

答案 1 :(得分:0)

WriteStartElement

第1行从文件中读取一行并将其存储在WriteEndElement中。然后第2行从文件中读取一个新行并输出它。所以第一行读入XmlReader,然后打印出第二行,然后将第三行读入XmlWriter,然后打印出第四行,依此类推。

你可能想要这个:

XmlSerializer

答案 2 :(得分:0)

你正在调用BufferedReader br = BufferedReader(new FileReader(("Output/pointsSorted.txt"))); String line; while((line = br.readLine()) != null){ // line 1 System.out.println(br.readLine()); // line 2 } br.close(); } 两次 - 一次进入line条件(然后忽略结果),一次进入其体内。只需删除其中一个电话,您就可以了。 E.g:

line