Java Netbeans中的文本修改
我试图修改文件中的文本,但不是修改它,而是添加一行新信息: 这是我的密码Java Netbeans中的文本修改,java,file,Java,File,我试图修改文件中的文本,但不是修改它,而是添加一行新信息: 这是我的密码 String id= IDSearch.getText(); String newname = NameText.getText(); String newbarcode = BarcodeText.getText(); String newsupplier= SupplierText.getText(); String newamount1= Amoun
String id= IDSearch.getText();
String newname = NameText.getText();
String newbarcode = BarcodeText.getText();
String newsupplier= SupplierText.getText();
String newamount1= AmountText.getText();
ArrayList<Item> ItemsList = new ArrayList<>();
if (id.isEmpty() || newname.isEmpty() || newbarcode.isEmpty() || newsupplier.isEmpty() || newamount1.isEmpty()) {
JOptionPane.showMessageDialog(this, " Please Fill all fields");}
else{
try {
File Items = new File ("Items.txt");
FileReader fr = new FileReader(Items);
BufferedReader br = new BufferedReader(fr);
String data;
Item tempItem;
while ((data = br.readLine()) != null) {
tempItem = new Item(data);
if (tempItem.getID().equals(IDSearch))
{
tempItem.setItemName(newname);
tempItem.setItemBarcode(newbarcode);
tempItem.setSupplierID(newsupplier);
tempItem.setAmount(newamount1);
}
ItemsList.add(tempItem);
}
try (PrintWriter pw = new PrintWriter(new FileWriter(Items, true))) {
ItemsList.forEach((item) -> {
pw.println(newname + ";" + newbarcode+ ";" + newsupplier + ";" + newamount1);
});
JOptionPane.showMessageDialog(this, "Student Updated Succesfully");
}
}catch (IOException ex) {
}
}
}
String id=IDSearch.getText();
字符串newname=NameText.getText();
字符串newbarcode=BarcodeText.getText();
字符串newsupplier=SupplierText.getText();
字符串newamount1=AmountText.getText();
ArrayList ItemsList=新的ArrayList();
if(id.isEmpty()| | | newname.isEmpty()| | | newbarcode.isEmpty()| | newsupplier.isEmpty()| | newamount1.isEmpty()){
showMessageDialog(这是“请填写所有字段”);}
否则{
试一试{
文件项=新文件(“Items.txt”);
FileReader fr=新的FileReader(项目);
BufferedReader br=新的BufferedReader(fr);
字符串数据;
项目临时项目;
而((data=br.readLine())!=null){
tempItem=新项目(数据);
if(tempItem.getID().equals(IDSearch))
{
tempItem.setItemName(newname);
tempItem.setItemBarcode(新条码);
tempItem.setSupplierID(新供应商);
tempItem.setAmount(新金额1);
}
ItemsList.add(临时项目);
}
try(PrintWriter pw=new PrintWriter(new FileWriter(Items,true))){
ItemsList.forEach((项目)->{
println(newname+“;”+newbarcode+”;“+newsupplier+”;“+newamount1);
});
showMessageDialog(此“学生已成功更新”);
}
}捕获(IOEX异常){
}
}
}
我似乎无法按照应该更新的方式更新tex文件。任何帮助都将不胜感激 您已将append设置为
true
。执行newfilewriter(Items,false)
或仅仅执行(newfilewriter(Items)
应该可以解决问题。您正在刷新并关闭writer我应该在哪里执行该操作?在编写代码的最后一个语句中。我从未见过try()在java中是这样的,但是当这个语句完成时就会这样做看起来好像它不工作有错误吗?现在它要么替换文件中的所有文本,要么删除所有文本,只留下一行。我如何修复它?帮助它替换所有文本!你想做什么?我正在尝试只替换文本文件中的一行,而不是一行全文