現在、Java で .java ファイルを作成しようとしています。サブクラス Eval を呼び出すいくつかのクラス Driver があります。
public class Driver
{
public static void main(String[] args)
{
Eval eval = new Eval();
eval.evaluate("System.out.println(\"Hello!!! I'm an auto-generated .java file!);\");
}
}
これが私の Eval クラスです(同じプロジェクトに保存されています):
public class Eval
{
public Eval()
{
}
public void evaluate(String toEval)
{
PrintWriter writer = new PrintWriter("Auto.java", "UTF-8");
writer.println("public class Auto");
writer.println("{");
writer.println(" public static void main(String[] args)");
writer.println(" {");
writer.println(" " + toEval;
writer.println(" }");
writer.println("}");
writer.close();
}
}
そこで、同じディレクトリにクラス Auto.java を手動で作成します。スクリプトを実行し、Auto.java を確認しましたが、驚いたことに、何も書き込まれていません。
public Auto
{
}
(これは、手動で作成した後に残した方法です)
何か提案をいただければ幸いです。
ありがとう!
PSさらに(上記のバグはこの質問よりも優先されますが)、どうすればこのプログラムをクラス Eval から実行できますか?