Processing3をつかってXMLEncoderを使おうと思ったんですけど…
Java
1 2import java.io.*; 3import java.net.*; 4import java.util.*; 5 6import java.beans.XMLEncoder; 7 8void setup(){ 9 export(); 10} 11 12void draw(){ 13} 14 15void export(){ 16 try{ 17 XMLEncoder e = new XMLEncoder( 18 new BufferedOutputStream( 19 new FileOutputStream("Test.xml") 20 ) 21 ); 22 e.writeObject(new DataSet(100, "太郎")); 23 e.close(); 24 }catch(Exception e){} 25} 26 27public class DataSet { 28 private int score; 29 private String name; 30 31 public DataSet() { 32 score = 0; 33 name = "No Name"; 34 } 35 36 public DataSet(int score, String name) { 37 this.score = score; 38 this.name = name; 39 } 40 41 public void setScore(int i) { score = i; } 42 public int getScore() { return score; } 43 public void setName(String s) { name = s; } 44 public String getName() { return name; } 45}
このようなプログラムで簡単なテストをしてみたんですけど、
Error
1java.lang.InstantiationException: sketch_151115c$DataSet 2Continuing ... 3java.lang.Exception: XMLEncoder: discarding statement XMLEncoder.writeObject(sketch_151115c$DataSet); 4Continuing ...
スケッチ:sketch_151115c
このようなエラーが吐かれてしまいます。
InstantiationExceptionの説明を見てみたのですが、
ちゃんとデフォルトコンストラクタがあるクラスになっているので、
processingのPAppletの内クラスになっていることが原因かなーとか考えてるんですが…
Exportしてjavaファイルを見てみたのですが、
何も変わらないまま内部クラスになっていたので、
自分の知識ではわかりませんでした…
どなたか、ご助力願います…
一応、状況に応じてprocessingでコンパイルせずに、出てきたjavaファイルをEclipseでコンパイルすることも検討しておりますが、Eclipseで実行すると、
そもそも「java.lang.RuntimeException」を投げられてしまいます。
なので質問としては、
①processing3でXMLEncoderを使う方法があるか
②EclipseでPApplet(core.jar)をインポートすると、実行時に「java.lang.RuntimeException」が投げられるのを解決する方法
です…お願いします!
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。