[英]How to Wait for Java file to be writen then make instance from it using classloader?
我寫了一些代碼來創建Java文件,然后使用ClassLoader
從中創建實例,我的問題是,如果我在寫入文件后不使睡眠,則ClassLoader
拋出ClassNotFoundException
。
因此,我需要一種使線程休眠直至文件完成所有文件寫入的方法。
就像是:
File javaFile = new File(serverPath + pkgname + "/" + className + ".java")
if (javaFile.getParentFile().exists() || javaFile.getParentFile().mkdirs()) {
Writer writer = null;
writer = new FileWriter(javaFile);
writer.write(sb.toString());
writer.flush();
writer.close();
Method method = Class.forName(pkgname + "." + className).getMethod("main", String[].class);
String[] params = new String[0]; // init params accordingly
method.invoke(null, (Object) params);
}
問題在於編譯器沒有在構建路徑中生成.class文件,因此程序等待IDE的自動編譯執行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.