public void writefile() throws Exception {
String h="D:\\ff\\src\\main\\java\\com\\example\\ee";
String fn="D:\\ff\\src\\main\\java\\com\\example\\ee\\A1.java";
File ff=new File(fn);
if(!ff.exists()){ff.createNewFile();}
FileWriter fw = new FileWriter(ff);
String str="package com.example.ee;\n" +
"public class A1 {\n" +
"public static void main(String[] args) {System.out.println(11);}" +
"public void f(){System.out.println(\"fff\");}}";
fw.write(str);
fw.close();
Thread.sleep(1111);
}
@Test
public void eee() throws Exception {
String h="D:\\ff\\src\\main\\java\\com\\example\\ee";
String fn="D:\\ff\\src\\main\\java\\com\\example\\ee\\A1.java";
writefile();
//JavaCompiler systemJavaCompiler = ToolProvider.getSystemJavaCompiler();
//int run = systemJavaCompiler.run(null, null, null, fn);
URL[] urls=new URL[]{new URL("file:/"+h)};
URLClassLoader cl=new URLClassLoader(urls);
Class<?> aClass = cl.loadClass("com.example.ee.A1");
Method f = aClass.getMethod("f");
f.invoke(aClass.newInstance());
Method m = aClass.getMethod("main",String[].class);
m.invoke(null,(Object)new String[]{});
}
动态写一个java文件com.example.ee.A1,然后报错
java.lang.ClassNotFoundException: com.example.ee.A1。
有什么方法读到它吗