类我有一个名为User.class一个类文件中D:/classes/directory
我用如何访问在java中
Class clz=Class.forName("D:/classes/User")
但它抛出java.lang.ClassNotFoundException
有谁能够告诉我,我怎么能解决这个问题。
类我有一个名为User.class一个类文件中D:/classes/directory
我用如何访问在java中
Class clz=Class.forName("D:/classes/User")
但它抛出java.lang.ClassNotFoundException
有谁能够告诉我,我怎么能解决这个问题。
Class.forName(className)
预计类在类路径中,你可以给完全合格的类名有
注意:类名
的forName需要包路径。你想要用户属于哪个包?这里有一个很好的例子,我在搜索google后发现:http://www.xyzws.com/Javafaq/what-does-classforname-method-do/17
您需要使用包含其包的完全限定名称的类。这通常用于查看类路径,目录对应于包部分。在你的情况,如果classpath中包括D:\classes
和类User
在包directory
,这会工作:Class.forName("directory.User");
请问我可以如何在类路径中包含D:\ classes – elvisanandkumar 2012-03-21 06:53:22
@elvisanandkumar:这取决于你的程序是如何启动的。如果通过命令行java工具运行,请在命令行中添加-cp“D:\ classes”。 – 2012-03-21 07:44:44
尝试的Class.forName(“用户”),但请注意,你应该从同一目录调用它或加入classpath你的User.class也检查http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Class.html#forName(java.lang.String) 如果你使用包然后尝试添加Class.forName(“com.example.User”)
这可能会有所帮助:http://www.java-tips.org/java -se-tips/java.lang/how-to-load-a-class-that-is-not-on-the-classpath.html – Soteric 2012-03-21 06:47:17