getResourceAsStream在Mac OSX与Windows 7上的工作方式不同?

时间:2009-11-25 03:30:52

标签: java windows unit-testing macos properties

我有一组依赖于test.properties文件的单元测试用例。当我使用Maven('mvn test')在Mac OSX或Linux下运行测试时,它们工作正常。但是在Windows 7下运行时,除非我将其直接复制到类文件夹,否则无法找到该文件。返回属性的代码有以下两种方法:

private void loadProperties() {
    try {
         properties.load(HibernateTestCase.class.getResourceAsStream(getPropertiesFilePath()));
    } catch (Exception ioExc) {
        ioExc.printStackTrace();
    }
}

private String getPropertiesFilePath() {
    return File.separator + "test.properties";
}

这里有什么真正的优惠?是否所有关于文件路径在某处设置错误?提前谢谢!

2 个答案:

答案 0 :(得分:8)

资源名称中的分隔符始终为“/”。 File.separator因平台而异(在UNIX版本上,它通常为/,在Windows上则不会)。

答案 1 :(得分:1)

您的类路径不同,或者您正在使用具有不同分辨率特征的其他类加载器。