如何将路径从文件传递到java类的系统属性

如何将路径从文件传递到java类的系统属性,java,Java,我有一个配置文件,我想从配置文件中读取文件的路径,并将其传递给java类的系统属性。这就是我想从文件中得到的: # path configuration MyfilePATH="$projectPath/file name" 这就是我在java类中的内容: private static final String FILE_PATH = System.getProperty("FILE_PATH","DEFAULT_PATH"); 我在java类中使用文件路径。但由于我对java非常陌生,我不

我有一个配置文件,我想从配置文件中读取文件的路径,并将其传递给java类的系统属性。这就是我想从文件中得到的:

# path configuration
MyfilePATH="$projectPath/file name"
这就是我在java类中的内容:

private static final String FILE_PATH = System.getProperty("FILE_PATH","DEFAULT_PATH");
我在java类中使用文件路径。但由于我对java非常陌生,我不知道如何将配置文件中的值传递给我的java类

有什么帮助吗? 谢谢

首先使用属性加载配置文件,如下所示

Properties prop = new Properties();
// load a properties file
prop.load(new FileInputStream("config.properties"));
然后,要从加载的属性访问MyfilePATH,请使用

String myPath = prop.getProperty("MyfilePATH")

System.getProperty将仅返回某些特定属性:

您想要的是读取您自己的属性文件。这里描述了这一点:

总体思路是:

package stack;

import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;

public class Main {

    public static void main(String[] args) throws IOException {
        Properties props = new Properties();
        FileInputStream in = new FileInputStream("/absolute/path/to/your/yourconfigfile.properties");
        props.load(in);
        in.close();
        String filePath = props.getProperty("MyFilePATH", "WHATEVER-DEFAULT-VALUE-YOU WANT");
        System.out.println(filePath);
    }

}

然而,在你的情况下,你想要什么并不十分清楚;$projectPath对您意味着什么?如果您希望字符串插值将字符串中的$projectPath部分替换为其他内容,则情况就不同了。

谢谢您的回答,$projectPath只是一个简单的字符串,可以是任何内容,也不重要。我想检索文件中的字符串,并将其作为系统属性传递给我的java类。我尝试了你的代码,但在这一行props.loadin;我看到了错误。它说我应该在道具上增加演员阵容。我改为System props.loadin;正如建议的,但不起作用,我不知道如何修复它。您能得到什么样的“cast”错误消息?我添加了我要导入的类,也许您正在使用java.util.Properties。。。否则,我只是测试了它,如果你能得到文件,你应该会没事的。