0

我有这段代码用于在 Eclipse 中保存和加载属性文件。我创建了一个 Eclipse 应用程序项目。

    Properties properties = new Properties();
    try {
        String propertyFilePath = "smcho.properties";
        // properties.load(new FileInputStream(propertyFilePath));
        properties.setProperty("database", "values");
        properties.store(new FileOutputStream(propertyFilePath), null);

        // Now, re-read the property file
        properties.load(new FileInputStream(propertyFilePath));
        System.out.println(properties.getProperty("database"));
    } catch (IOException e) {
        e.printStackTrace();
    }

它工作正常,但我无法smcho.properties在我的计算机中找到该文件。当我将文件路径设置为绝对路径时,文件将从路径存储和加载。仅使用属性文件名保存属性文件在哪里?

4

2 回答 2

3

该文件将存储在工作目录中,这是您运行 Java 应用程序的路径。现在,如果您从 Eclipse 运行它,该文件将保存到项目的文件夹中。

为了让事情更清楚,假设您将代码示例导出到可执行 jar 文件中,并将其放在以下路径“/Users/prosseek/Desktop”中,并使用您 cd 到“/Users/prosseek”的终端并运行从那里开始应用程序,属性文件将在“/Users/prosseek”中创建,然后如果您 cd 进入“/Users/prosseek/Desktop”并再次运行该应用程序,将在桌面路径中创建一个新文件,现在是新的工作目录。

希望这可以帮助。

于 2012-12-18T18:30:50.643 回答
0

对于 Mac,当我执行包含代码的 eclipse 应用程序项目时,属性文件存储在 eclipse 的安装位置。

./Applications/eclipse_rcp_juno/Eclipse.app/Contents/MacOS/smcho.properties

从 Waleed 的回答来看,从 eclipse 启动 eclipse 应用程序时,该目录似乎被视为工作目录。

于 2012-12-18T18:05:11.983 回答