I am coding a program in which I can add the details of people to an excel sheet. I must also be able to edit these details and therefore what I want to do is delete the old details and then just write the new ones to the file. All details of each person are stored in one row. I want to be able to target each row by using the email of the person that is being altered. How can I do this? I have tried other peoples solutions that I have found but they are not working for my program. Belo is a basic version of my program to help you to understand:
The following code is where I write the details of the people to the file. This all works fine.
JButton addClientButton = new JButton("Add");
addClientButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
PrintWriter pw = null;
Client newClient = new Client(firstNameTextField.getText(), lastNameTextField.getText(), emailTextField.getText(), phoneTextField.getText(), weightTextField.getText(), heightTextField.getText(), ageSpinner.getValue(), activityLevelComboBox.getSelectedItem());
try {
pw = new PrintWriter(new FileOutputStream(new File("Clients.csv"), true));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
StringBuilder sb = new StringBuilder();
sb.append(newClient.getFirst());
sb.append(",");
sb.append(newClient.getLast());
sb.append(",");
sb.append(newClient.getEmail());
sb.append(",");
sb.append(newClient.getPhone());
sb.append(",");
sb.append(newClient.getWeight());
sb.append(",");
sb.append(newClient.getHeight());
sb.append(",");
sb.append(newClient.getClientAge());
sb.append(",");
sb.append(newClient.getClientActivity());
sb.append("\n");
pw.write(sb.toString());
pw.close();
}
});
Below is the start of the code in which I must be able to use the new edited details stored in the "editClient" object to replace the old details.
JButton btnSave1 = new JButton("Save");
btnSave1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Client editClient = new Client(firstNameField1.getText(), lastNameField1.getText(), emailField1.getText(), phoneField1.getText(), weightField1.getText(), heightField1.getText(), ageSpinner1.getValue(), activityComboBox1.getSelectedItem());
}
});