在文本文件中编辑记录(java)
这是我在文本文件中编辑记录的确切代码。 我的代码已成功运行,但一旦单击了在文本文件中编辑记录(java),java,Java,这是我在文本文件中编辑记录的确切代码。 我的代码已成功运行,但一旦单击了btnModify,文本文件中的记录就不会更新。我的密码怎么了? 注意:这些代码用于我的awt程序 btnModify.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { ArrayList<String> tempData = new Arr
btnModify
,文本文件中的记录就不会更新。我的密码怎么了?
注意:这些代码用于我的awt程序
btnModify.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
ArrayList<String> tempData = new ArrayList<>();
String requestedID = txtID.getText().trim().toLowerCase();
String requestedName = txtName.getText().trim();
String requestedGender = txtGender.getText().trim();
String requestedContactNumber = txtContactNumber.getText().trim();
System.out.println("123");
try {
FileReader fr = new FileReader("test.txt")){
Scanner reader = new Scanner(fr);
System.out.println("123456");
while (reader.hasNext()){
String line = reader.nextLine();
String lineLtrim = line.toLowerCase().replaceAll("^\\{", "");
String lineRtrim = lineLtrim.replaceAll("\\}$", "");
String[] data = lineRtrim.split(",");
System.out.println("5566");
if(data[0].equals(requestedID)){
System.out.println("9999");
data[1] = data[1].replace(data[1], requestedName);
data[2] = data[2].replace(data[2], requestedGender);
data[3] = data[3].replace(data[3], requestedContactNumber);
tempData.add(data[0] + "," + data[1] + "," + data[2] + "," + data[3] );
outStream.write("{" + txtID.getText().replace(data[0], requestedID));
outStream.write("," + txtName.getText().replace(data[1], requestedName));
outStream.write("," + txtGender.getText().replace(data[2], requestedGender));
outStream.write("," + txtContactNumber.getText().replace(data[3], requestedContactNumber) + "}");
outStream.write("\r\n");
outStream.close();
System.out.println("632");
System.out.println(tempData);
JOptionPane.showMessageDialog(null, "Modify Successful!");
}
else {
tempData.add(data[0] + ":" + data[1] + ":" + data[2] + ":" + data[3]);
System.out.println("142");
System.out.println(tempData);
}
}
fr.close();
}
catch (Exception ex){
}
}
});
你在写文件吗?如果您不写入,则可能是文件被修改。您正在替换从文件读取的字符串,但没有将其写入文件。谢谢,将尝试添加写入文件的方法。我编辑了代码,但记录将添加到文本文件的末尾,而不是更改特定记录,我的代码有什么问题。因为您正在用变量txtID、txtName等的新值写入文件末尾。您正在用新值替换变量的值,代码中没有任何地方,您是否正在删除/替换任何已写入的内容
{001,Jack,male,0123456789}
{002,Mark,male,0198765432}