java.lang.IllegalAccessException: Class sun.reflect.misc.Trampoline can not access a member of class Data with modifiers ""
Continuing ...
java.lang.RuntimeException: failed to evaluate: <unbound>=Class.new();
Continuing ...
上記のようなエラーが出てしまいます。
ソースコードは以下の通りです。
XMLEncoder xmlencoder=new XMLEncoder(
new BufferedOutputStream(
new FileOutputStream("出力先ファイルのパス")));
xmlencoder.writeObject(hoge);
decoder.close();
xmlencoderはXMLEncoder型
hogeは配列型のコンストラクタ。
配列の数だけエラーが出るので、hogeの読み取りのたびにエラーが出るようです。
ちなみにhogeのもとになるクラスにはデフォルトコンストラクタ
Hoge(){}
とフィールドごとにgetterとsetterをつけています。
おかしいとすれば次の2か所だと思うのですが原因がわかる方いたら教えてください。
(1)XMLEncoderやwriteObjectの使い方
(2)hogeに問題がある。
お礼
クラスを宣言するときに publicをつけると解決しました。
補足
さっそく public Hoge(){}にしてみたのですが、まだ改善されません。