我可以在Java中从属性文件调用方法吗

我可以在Java中从属性文件调用方法吗,java,Java,我正在用java阅读一个Excel文件,我已经为我的业务逻辑编写了一些方法,我想用属性文件实现 我想做的是: 我有10列和10个方法,我需要在属性文件中声明这些方法,并从该文件中使用 假设对于A列我只需要2种方法,那么我只能使用这2种方法,对于下一列B,假设10种方法,依此类推 我可以这样做吗?或者是否有其他方法来实现这一点 请建议我是否有任何其他方法来实现这一点。提前感谢。您想做什么还不清楚,但无论如何,您绝对不能从.properties文件中“调用”任何Java方法(或从Java调用.pro

我正在用java阅读一个Excel文件,我已经为我的业务逻辑编写了一些方法,我想用属性文件实现

我想做的是:

我有10列和10个方法,我需要在属性文件中声明这些方法,并从该文件中使用

假设对于A列我只需要2种方法,那么我只能使用这2种方法,对于下一列B,假设10种方法,依此类推

我可以这样做吗?或者是否有其他方法来实现这一点


请建议我是否有任何其他方法来实现这一点。提前感谢。

您想做什么还不清楚,但无论如何,您绝对不能从
.properties
文件中“调用”任何Java方法(或从Java调用
.properties
文件中包含的方法)。
.properties
文件不是可执行文件,任何标准Java实用程序也不会将其视为可执行/可解释代码。本质上,它包含的只是数据,数据不能调用或被调用


但是,您可以通过使用反射将输入文件中的文本方法调用映射到针对一个或多个Java对象的实际方法调用,或者更简单(但灵活性/可扩展性较差)来实现这一点通过使用
开关
/
if else
块存储直接映射到方法调用的预定代码集,或者将所需代码存储为JavaScript并使用现有的基于Java的JavaScript解释器执行代码。

为了防止误读:属性文件只是文本文件,因此,您需要使用Java代码来处理它们。它们只提供字符串->字符串(键->值)映射,因此您需要自己解析和解释字符串

话虽如此,这里有一个关于你可能(想要)做什么的建议:

由于你的问题不太清楚,我将做几个假设:

  • 您的属性文件包含以下内容:

    第1列=方法1,方法7
    第2列=方法1、方法2、方法3
    等等

  • 这些方法都是在一个类中使用公共签名声明的

  • 解析excel文件时,您可能希望基于属性文件将这些方法应用于列

  • 因此,以下是一些您可以做的提示:

  • 解析属性文件并创建每列的方法名列表
  • 处理单元格/列时,获取相应列的方法名称
  • 使用
    YourClass.class.getMethod(methodName,parameterTypes)
    获取
    方法
    实例
  • 调用
    Method#invoke(…)
    调用该方法
  • 编辑:

    作为将所有方法放在一个类中的替代方法,您还可以使用完全限定的类名,例如
    yourpackage.YourClass#method1
    ,在
    #
    处拆分以获取类名和方法,然后使用
    class.forName(fqcn)
    获取类,最后调用
    getMethod(…)

    如果签名不同,则可能需要使用更复杂的表示法并解析参数类


    有一些解析器可以用于此,但我不知道。然而,一些apache commons项目喜欢并可能证明对这项任务有用。

    您的问题不清楚。提供一个你称之为方法的清晰示例。我有类似findSpaceatBegining()的函数;查找Sequenceno();等等,所以它需要使用属性文件动态调用。给出一个简短但具体的示例将更有帮助,即excel文件的内容是什么,属性文件的外观如何,所需的输出是什么(即这些方法将做什么,它们将操作什么数据)。这正是我想要做的