Java BufferedReader赢得';我不去下一行

Java BufferedReader赢得';我不去下一行,java,Java,对于noob的问题,我很抱歉,但我觉得我的代码是正确的,但我不明白为什么读不到下一行: 这是我目前的代码: BufferedReader buffer = null; try { FileReader file = new FileReader(filename); buffer = new BufferedReader(file); String line = buffer.readLine(); String[] separations = line.sp

对于noob的问题,我很抱歉,但我觉得我的代码是正确的,但我不明白为什么读不到下一行:

这是我目前的代码:

BufferedReader buffer = null;

try {
    FileReader file = new FileReader(filename);
    buffer = new BufferedReader(file);

    String line = buffer.readLine();
    String[] separations = line.split(", ");
    System.out.println(separations[0]);
    while(line!= null) {
        this.times.add(separations[0]);

        Double number = Double.parseDouble(separations[1]);
        allNumbers.add(number);

        line = buffer.readLine();
    }

问题不是缓冲区只读取一行,而是我在循环外部标记该行,因此存储了x行的相同信息:

解决方案:

while (line != null) {
    String[] separations = line.split(", "); // this should be inside the loop
    if (separations.length > 1) {
        this.times.add(separations[0]);

        Double number = Double.parseDouble(separations[1]);
        allNumbers.add(number);
    }
    line = buffer.readLine();
}

你觉得你的代码是正确的吗?这是一个二元决定。你的代码正确吗?它有用吗?听起来好像没用。首先,你有什么例外吗?它们是什么?您的异常处理代码是什么样子的?您是否验证了
文件
是否确实存在?您使用的是完整路径还是相对路径?可能是@NathanHughes的副本除了我提供的代码之外,不需要更多的代码,正如我的标题所示,控制台的输出显示子程序只读取第一行,不前进到下一行;因此,这个问题肯定与我构建if语句的方式有关;在处理E文件、FileNotFound和IOExceptions@ElliottFrisch很明显,我的意思是说,我的代码不起作用,否则就不会在这里发布;关于异常,没有抛出异常,请参阅我对Nathan Hudges的回复