私はプライベートフィールドとパブリックメソッドを持つクラスを持っています。私のメソッドはget/set命名規則に従います。フィールドが非公開で、オブジェクトデータをXMLファイルに書き込もうとすると、空のXMLファイルが作成されますが、publicに変更するとXMLにはすべての必要なデータが含まれます。あなたはこれを引き起こしていると思いますか?クラスフィールドがプライベートな場合、XMLEncoderはオブジェクトデータを書きません
public class ClassData {
private String name;
private ArrayList<String> methods;
public ClassData()
{
methods = new ArrayList<>();
}
public void setName(String cName)
{
name = cName;
}
public String getName()
{
return name;
}
public void setMethods(String mName)
{
methods.add(mName);
}
public ArrayList<String> getMethods()
{
return methods;
}
}
String fileName = cObj.getName() + ".xml";
XMLEncoder enc=null;
try{
enc=new XMLEncoder(new BufferedOutputStream(new FileOutputStream(fileName)));
}catch(FileNotFoundException fileNotFound){
System.out.println("Unable to save file.");
}
enc.writeObject(cObj);
enc.close();
XMLEncoderについて教えてください。 – f1sh
@ f1sh更新されたXMLコードの投稿。私はjava.beans.XMLEncoderを使用しています – Brosef