我得到两个不同的输出相同的代码.当我调试并逐步遍历每一行时(使用Netbeans 8.1),我得到一个结果.当我一次运行代码时,我得到了不同的结果.
这是代码,
public class Testing { public static void main(String... args) throws IOException { BufferedReader file = new BufferedReader(new FileReader("input")); String str = file.readLine(); System.out.println(str); } }
这是输入文件
first second third fourth
在两种情况下,代码都应首先打印第一行.但它只有在我运行代码时才会这样做.
如果我调试代码并逐步执行每一行,则打印第二行.
为什么会这样?
更新:
以下是调试截图.现在,如果我跳过它将执行System.out.println行.正如你在右侧看到的那样,str包含’second’.