如何等待Java文件被写入,然后使用类加载器从中创建实例



我写了一些代码,创建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的"自动编译"执行。

相关内容

  • 没有找到相关文章

最新更新