java - 从文本文件中读取方法并在程序中执行它们

标签 java oop object file-io

我有一个文本文件,该文件列出了可以在泵类上执行的所有操作。

文本文件内容示例

 Start PayCredit Reject Start PayCredit Reject TurnOff
 ....
 .... so on.

这些是 Pump 类的方法(Start()、Reject() 等)

我需要编写一段代码,可以从文件中一一读取这些方法并执行它们。

public static void main(String[] args) throws IOException
{

    Pump gp= new Pump();
    File file=new File("C:\\Users\\Desktop\\checker\\check.txt"); 
    BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
    String line=null;
    while((line=br.readLine())!=null)
    {
        String words[]=line.split(" ");
        for(int i=0;i<words.length;i++)
        {
            String temp=words[i]+"()";
            gp.temp; //compilation error
        }
    }

}

你能告诉我如何实现这个功能吗?

最佳答案

如果您对反射不太熟悉,也许可以尝试使用 Spring Framework 项目中的 org.springframework.util.ReflectionUtils

代码会是这样的:

Pump gp = new Pump();
....
String temp = // from text file
....
Method m = ReflectionUtils.findMethod(Pump.class, temp);
Object result = ReflectionUtils.invokeMethod(m, gp);

关于java - 从文本文件中读取方法并在程序中执行它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27353878/

相关文章:

php - 如何将 MySQL 记录字段结果放入 PHP 对象中?

java - 启动两个 Junit 测试套件

java - 与特定事件监听器关联的方法列表?

java - 使用 Eclipse 和插件 SDK 进行 Liferay portlet 开发

java - 什么是便携性? java如何比其他语言更便携?

c++ - 如何在派生类中访问聚合

java - 可以从 map 外部更改值吗?

java - 在 Java 中删除对象时出现问题

java - 为什么要将对象分配给接口(interface)?

javascript - 向嵌套对象添加属性 - Javascript