黑马程序员技术交流社区

标题: 用配置文件的方式做反射的问题 [打印本页]

作者: lll456123l    时间: 2016-5-3 14:13
标题: 用配置文件的方式做反射的问题
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Properties;
public class rr {
public static void main(String[] args) throws IOException, ClassNotFoundException, InstantiationException, IllegalAccessException, NoSuchMethodException, SecurityException, IllegalArgumentException, InvocationTargetException {
   FileWriter rite =new FileWriter("E://y;q.txt");
   rite.write("name=ylq");
   rite.flush();
         FileInputStream file=new FileInputStream("E://y;q.txt");
         Properties p=new Properties();
         p.load(file);
         String name=p.getProperty("name");
         Class cass=Class.forName(name);
         ylq q=(ylq)cass.newInstance();
         Method method=cass.getMethod("run", null);
         method.invoke(q, null);
}
}
  运行时出现异常:
Exception in thread "main" java.lang.ClassNotFoundException: ylq
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at 用配置文件的方式做反射.rr.main(rr.java:20)

请问怎么解决

作者: 349153256    时间: 2016-5-3 19:06
  FileInputStream file=new FileInputStream("E://y;q.txt");
这里的路径后面文件名有问题吧。 。E://y;q.txt  你是想写E://ylq.txt??
作者: lll456123l    时间: 2016-5-3 19:33
不是这个问题,我听别人说是文件名要加什么包名,一长串,但是我不会加
作者: lll456123l    时间: 2016-5-3 19:34
349153256 发表于 2016-5-3 19:06
FileInputStream file=new FileInputStream("E://y;q.txt");
这里的路径后面文件名有问题吧。 。E://y;q ...

你的黑马币怎么赚的,感觉好多。。
作者: lll456123l    时间: 2016-5-3 19:35
349153256 发表于 2016-5-3 19:06
FileInputStream file=new FileInputStream("E://y;q.txt");
这里的路径后面文件名有问题吧。 。E://y;q ...

你的黑马币怎么赚的,感觉好多。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2