黑马程序员技术交流社区

标题: 大家好 请问这个程序 应当如何改一下才能运行 [打印本页]

作者: wangyuyus    时间: 2013-11-10 15:52
标题: 大家好 请问这个程序 应当如何改一下才能运行
import java.io.*;
import java.lang.reflect.Method;
import java.util.Properties;

public class Text7 {

        /**写一个Properties格式的配置文件,用反射 的方式运行run方法
         * @param args
         * @throws Exception
         */
        public static void main(String[] args) throws Exception {
                // TODO Auto-generated method stub
                read();
        }
        public static void read() throws Exception{
                Properties prop = new Properties();
                File file = new File("read.properties");
                if(!file.exists())
                        try {
                                file.createNewFile();
                        } catch (IOException e) {
                                throw new RuntimeException("创建失败");
                        }
                FileInputStream fis = new FileInputStream(file);
                System.out.println("1");
               
                prop.setProperty("name","DemoClass");
                prop.load(fis);
                FileOutputStream fos = new FileOutputStream(file);
                prop.store(fos, "");
                String cls=prop.getProperty("name");
                System.out.println(cls);
                if(cls!=null){
                        System.out.println("3");
                        //Class clazz =cls.getClass();
                        System.out.println("4");
                        Method mod =cls.getClass().getMethod("run",null);
                        System.out.println("5");
                        mod.invoke(cls, null);
                        System.out.println("6");
                }
               
                       
        }
       
}
class DemoClass {
    public void run()
    {
       System.out.println("welcome to heima!");
    }   
   }


作者: 零下五度的水    时间: 2013-11-10 16:08
将 prop 和 file 关联
作者: hurryup    时间: 2013-11-10 18:27
注意,run()方法在DemoClass中,首先在Test中用反射的方式得到那个类的的method信息,然后才能调用,否则不可以。




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