各位大侠;
例:
 String code=null;
  code=" try {consoledao.loadConsoleAll(transtableId,transtableName,fieldtable);"
       +" } catch (DataException e) {"
       +"e.printStackTrace();}";
如何将code中的字符串转成代码在java中运行?

解决方案 »

  1.   

    javassist
    例子
    http://blog.csdn.net/treeroot/archive/2005/10/10/498801.aspx
      

  2.   

    String code=null;
      code=" try {consoledao.loadConsoleAll(transtableId,transtableName,fieldtable);"
           +" } catch (DataException e) {"
           +"e.printStackTrace();}";
      PrintWriter writer = new PrintWriter(new FileWriter(new File(className + ".java")));
        writer.println(code);
        writer.close();
        Runtime.getRuntime().exec("javac -d . className" + ".java");
        Class c = Class.forName(className);
        Object o = c.newInstance();
        Method [] methods = c.getMethods();
        for (int i = 0; i < methods.length; i++) {
            Object result = methods[i].invoke(o,new Object[argsNum]);
            System.out.println(result);
        }
      

  3.   

    晕死了!
    问题1:java文件写到哪里了?
    问题2:javac是否可以执行,path路径能否找到javac?
    问题3:生成的class文件放在哪里?
    问题4:Class.forName可以加载到这个类文件吗?