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