麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

動態編譯java程序實例

2019-11-18 13:55:14
字體:
來源:轉載
供稿:網友

  import java.io.*;
import java.lang.reflect.Method;
import com.sun.tools.javac.*;

public class RuntimeCode {

PRivate static Main javac = new Main();
/**等待用戶輸入JavaCode,然後編譯、執行*/
public static void main(String[] args) throws Exception {
String code = "";
DataInputStream bd = new DataInputStream(System.in);
byte[] brray= new byte[200];
int i = bd.read(brray);
code = new String(brray,0,i);
run(compile(code));
System.out.print(code);

}
/**編譯JavaCode,返回暫存檔案物件*/
private synchronized static File compile(String code) throws Exception {
File file;
//在用戶當前文件目錄創建一個臨時代碼文件
file = File.createTempFile("JavaRuntime", ".java", new File(System.getProperty("user.dir")));
System.out.println(System.getProperty("user.dir"));
//當虛擬機退出時,刪除此臨時java原始檔案
//file.deleteOnExit();
//獲得檔案名和類名字
String filename = file.getName();
String classname = getClassName(filename);
//將代碼輸出到文件
PrintWriter out = new PrintWriter(new FileOutputStream(file));
// out.println("/**");
out.write("class "+classname+"{"+"public static void main(String[] args)"+"{");
out.write(code);
out.write("}}");
//關閉文件流
out.flush();
out.close();
String[] args = new String[] { "-d", System.getProperty("user.dir"),filename };
//返回編譯的狀態代碼
int status = javac.compile(args);
System.out.println(status);
return file;
}
//運行程序
private static synchronized void run(File file) throws Exception {
String filename = file.getName();
String classname = getClassName(filename);
//當虛擬機退出時,刪除此臨時編譯的類文件
new File(file.getParent(),classname + ".class").deleteOnExit();
try {
Class cls = Class.forName(classname);
//映射main方法
Method main = cls.getMethod("main", new Class[] { String[].class });
//執行main方法
main.invoke(null, new Object[] { new String[0] });
} catch (SecurityException se) {
}
}

private static void debug(String msg) {
System.err.println(msg);
}

private static String getClassName(String filename) {
return filename.substring(0, filename.length() - 5);

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美日韩视频网站 | 国产精品色在线网站 | 欧美一级黄色片在线观看 | 久久在线精品视频 | 成人一级黄色大片 | 免费观看一区二区三区视频 | 国产v综合v亚洲欧美久久 | www国产成人免费观看视频,深夜成人网 | 国产91影院| 欧美高清一级片 | 精国产品一区二区三区 | 久草视频福利在线观看 | 欧美午夜网 | 成年性羞羞视频免费观看 | 成人福利视频导航 | 深夜福利久久久 | 黄色一级片免费观看 | 艹男人的日日夜夜 | 国产亚洲精品久久久久久大师 | 中文字幕欧美一区二区三区 | 男女羞羞在线观看 | 久久国产成人午夜av浪潮 | 日本成人二区 | 嗯哈~不行好大h双性 | 叉逼视频| 精品国产96亚洲一区二区三区 | 国产午夜三级一区二区三桃花影视 | 久久午夜免费视频 | 一日本道久久久精品国产 | 91看片片| 国产精品久久久久久238 | 久久蜜桃香蕉精品一区二区三区 | 精品免费久久 | 国产一区二区三区在线观看视频 | 看免费黄色一级片 | 成人一级视频 | 日韩一级免费 | 免费激情网站 | 99热1| 蜜桃视频观看麻豆 | 国产精品久久久久久久久久久久久久久久 |