为什么这段代码在Debug里可以达到想要的效果,而直接运行却达不到想要的效果

*

  • 3.从键盘接受多个int型的整数,直到用户输入end结束 要求:把所有的整数按倒序写到D:\number.txt中
    因为前段时间看视频学习了一下GUI, 我想要用Gui里的Frame窗口来完成这个小题目,于是就添加了一些组件,但我发现直接运行这段代码后number.txt没有我想要的结果(","分割输入的内容,再加到集合里,再写到number.txt里),但是如果在最后一个foreach循环设置断点后debug,却可以写到number.txt里,很疑惑,求大神为萌新解答.
    *

    static TextField tf=new TextField();
    static ArrayList <String>list=new ArrayList();  
    public static void main(String[] args) throws IOException {
    BufferedWriter bf=new BufferedWriter(new FileWriter("number.txt"));
    Button b=new Button("end");
    Label l=new Label("请输入一串整数,以end键结束");
    Frame f=new Frame("输入");
    Frame frame = new Frame("s");
    
    f.setVisible(true);
    f.setBounds(400, 250,300,200);
    f.add(l,BorderLayout.NORTH);
    f.add(tf,BorderLayout.CENTER);
    f.add(b,BorderLayout.SOUTH);
    f.addWindowListener(new WindowAdapter() {
        public void windowClosing(WindowEvent e) {
            System.exit(0);
        }
    });
    b.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
                String a[]=tf.getText().split(",");
                for(int j=0;j<a.length;j++) {
                    list.add(a[j]);
                }
        }
    });
    for (String str : list) {
        bf.write(str+" ");
    }
    bf.close();
    

    }

怀疑是相对路径的问题,debug和release程序写入的目录不同,所以没找到 number.txt
你用绝对路径 d:/number.txt 看看