Я пытаюсь поместить учетные данные в файл XML во время выполнения, но XML заменяет новое значение, в то же время, как решить эту проблему?
Мне нужно добавить новые учетные данные в существующий файл и извлеките его в соответствии с именем, которое было дано
заранее спасибо
Немного нового для сообщества! не беспокойтесь, если есть какие-либо соглашения об ошибках
loginExample. java
public class LoginExample extends Application {
CredentialsBean credentials ;
@Override
public void start(Stage primaryStage) throws Exception {
Button submit =new Button("Submit");
Button convert = new Button("Convert");
GridPane root = new GridPane();
Label showuname = new Label();
Label showupwd = new Label();
Text name = new Text("Name");
root.add(name,0,0);
TextField uname = new TextField();
root.add(uname, 1, 0);
Text password = new Text("Password");
root.add(password,0,1);
PasswordField upwd = new PasswordField();
root.add(upwd, 1,1);
root.add(submit, 1, 2);
root.add(convert, 1, 3);
root.add(showuname, 2, 6);
root.add(showupwd, 2, 7);
Scene sc = new Scene(root,400,400);
primaryStage.setScene(sc);
primaryStage.show();
submit.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
String name=uname.getText();
try {
String pwd= Base64.getEncoder().encodeToString(upwd.getText().getBytes("utf-8"));
credentials= new CredentialsBean(name,pwd);
jaxbObjectToXML(credentials);
} catch (IOException e) {
e.printStackTrace();
}
}
private void jaxbObjectToXML(CredentialsBean credentials) throws FileNotFoundException {
try
{
//Create JAXB Context
JAXBContext jaxbContext = JAXBContext.newInstance(CredentialsBean.class);
//Create Marshaller
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
//Required formatting??
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
File file2 = new File("C:/Users/User/Desktop/encoder.xml");
jaxbMarshaller.marshal(credentials, file2);
} catch (JAXBException e) {
e.printStackTrace();
}
}
});
}
public static void main(String args[])
{
launch(args);
}
}
CredentialsBean. java
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class CredentialsBean {
private String name;
private String password;
public CredentialsBean() {
}
public CredentialsBean(String name, String password) {
this.name = name;
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "CredentialsBean [name=" + name + ", password=" + password + "]";
}
}