我正在尝试计算文件中的行来设置指定的循环持续时间,以便我可以读取同一文件中的行来提取数据。
我尝试过do-while循环和while循环以及我一直看到的错误是程序读取一行,然后当我需要该行的数据时它会读取下一行而不是
...
while(in.readLine() != null){
name = in.readLine();
if (name != null && name.contains("Name: ")){
name=name.substring(6);
type = in.readLine();
...
答案 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();
...