将文本字段输入写入文件

Writing textField input to file

我正在尝试从几个文本字段中获取输入,并在按下按钮时将它们作为列表添加到我的库存文件中。当我测试它时,它只会清空我的库存文件。

    JButton btnAddProduct = new JButton("Add Product");
    btnAddProduct.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            String text0 = textbarcode.getText();
            String text1 = textdeviceName.getText();
            String text2 = textdeviceType.getText();
            String text3 = textbrand.getText();
            String text4 = textcolour.getText();
            String text5 = textconnectivity.getText();
            String text6 = textquantity.getText();
            String text7 = textoriginalCost.getText();
            String text8 = textretailPrice.getText();
            String text9 = textadditionalInformation.getText();
            textbarcode.setText("");
            textdeviceName.setText("");
            textdeviceType.setText("");
            textbrand.setText("");
            textcolour.setText("");
            textconnectivity.setText("");
            textquantity.setText("");
            textoriginalCost.setText("");
            textretailPrice.setText("");
            textadditionalInformation.setText("");
            
            String text = (text0 + text1 + text2 + text3 + text4 + text5 + text6 + text7 + text8 + text9);
           
            try {
                new BufferedWriter(new FileWriter("Stock.txt")).write(text);
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            
        }
        
    });

    btnAddProduct.setBounds(720, 367, 200, 37);
    panelAddProduct.add(btnAddProduct);

问题是每次您创建 new FileWriter("Stock.txt") 您都在创建一个新文件或覆盖现有文件。

为了解决这个问题,使用new FileWriter("Stock.txt", true)所以它看起来像这样:

new BufferedWriter(new FileWriter("Stock.txt", true)).write(text);

另外,用close()方法关闭BufferedWriter。所以写完后把new BufferedWriter()对象赋值给close()的变量可能是个更好的主意。

希望能解决问题:D