我只想知道如何从反序列化中更改数据。我的计划需要:
询问用户是否要更改学生信息并将新数据存储在文本文件中。
这是我的代码:
{{1}}
lization部分
答案 0 :(得分:1)
假设你有一个类似的学生班 -
public class Student {
private String Name;
private int ID;
private int Average;
/**
* @return the name
*/
public String getName() {
return Name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
Name = name;
}
/**
* @return the iD
*/
public int getID() {
return ID;
}
/**
* @param iD the iD to set
*/
public void setID(int iD) {
ID = iD;
}
/**
* @return the average
*/
public int getAverage() {
return Average;
}
/**
* @param average the average to set
*/
public void setAverage(int average) {
Average = average;
}
}
反序列化后,您将从文件中读取一个Object,现在要修改Student对象。
st1 = (Student) in.readObject();
st2 = (Student) in.readObject();
st3 = (Student) in.readObject();
这里有st1,st2和st3学生对象。 您可以通过调用Student Object的setter方法来修改st1名称。 例如,如果您想修改学生姓名,您只需要致电
st1.setName("modifyName");
修改后,您可以通常的方式在文件中编写st1修改过的对象。