java计算文件中的行,以后能够读取它们

时间:2016-08-31 23:50:07

标签: java file

我正在尝试计算文件中的行来设置指定的循环持续时间,以便我可以读取同一文件中的行来提取数据。

我尝试过do-while循环和while循环以及我一直看到的错误是程序读取一行,然后当我需要该行的数据时它会读取下一行而不是

...
while(in.readLine() != null){
    name = in.readLine();
    if (name != null && name.contains("Name: ")){
        name=name.substring(6);
        type = in.readLine();
        ...

2 个答案:

答案 0 :(得分:2)

每次调用readLine()时,Java都会读取文件中的下一行。您只想在循环中调用它一次并存储返回的值。

while ((line = in.readLine()) != null)...
    // use line inside the loop instead of calling readLine() again

答案 1 :(得分:0)

当你需要它时,它进入下一行数据的原因是因为你在循环的每次迭代中收集了两行。一个简单的改变应该让它运作!

...
while((name = in.readLine()) != null){

if (name != null && name.contains("Name: ")){
    name=name.substring(6);
    type = in.readLine();
    ...