java Get类在运行时创建
我想抄一本书。包含一个类(包“test”中的MyTestClass)的java文件,该类来自磁盘上的某个位置。我想得到这个文件包含的类。也许我的代码会有用。这是我的代码:
File generatedFile = new File( DIR_CONTAINING_FILE + "/" + className + ".java" );
FileUtils.copyFileToDirectory( generatedFile, COPY_FILE_DIR );
Class cl = Class.forName( "test.MyTestClass" );
复制文件很好。它显示了它应该在哪里
当我手动将我的文件复制到复制文件目录,然后启动程序时,它会工作,它会找到我的类。但当我启动程序时没有先复制文件(我的意思是当我让它对我的程序执行时),我得到了ClassNotFoundException。当我刷新目录时,有我的文件,所以它被完美地复制了
在这一刻,我可以重新开始我的程序,并。。魔术它会找到我的班级!看起来我需要从java中刷新目录或执行其他操作。。我不知道该怎么办。任何帮助都将不胜感激
# 1 楼答案
似乎您必须熟悉^{} API才能做到这一点。将
.java
文件存储在何处并不重要——必须先将它们编译成字节码,然后才能在运行时内使用它们