簡體   English   中英

如何等待Java文件被寫入,然后使用classloader從中創建實例?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM