我需要从eclipse中的属性文件中读取配置详细信息。我已将config.properties
置于与plugin.xml
相同的级别,并在我调用的类文件中:
Properties properties = new Properties();
FileInputStream file;
String path = "./config.properties";
file = new FileInputStream(path);
properties.load(file);
我得到file not found exception
。有没有更好的方法呢?
答案 0 :(得分:3)
你还记得把它包含在构建中吗?
其次,使用类加载器资源可能更好
InputStream fileStream = myClass.getResourceAsStream( "/config.properties" );
此外,还有另一种使用
在eclipse中打开资源URL的方法url = new URL("platform:/plugin/com.example.plugin/config.properties");
InputStream inputStream = url.openConnection().getInputStream();
答案 1 :(得分:1)
将属性文件放在项目的根目录中。这应该是user.dir
系统属性指向的位置。 FileInputStream
构造函数在此目录中查找该文件。
您可以通过输出系统属性来确认它在正确的目录中。
System.getProperty("user.dir");
答案 2 :(得分:0)
如果它是插件,则应告知它文件必须包含在目标中。它在build.properties文件中设置。打开它,然后查找-您尚未在其中提及您的文件。
打开plugin.xml,转到build
标签,然后通过检查将文件包含在binary.build中。保存。这将正确更改build.properties文件。转到build.properties
标签,再次查看文件-现在您可以看到文件已正确包含。
当然,您可以手工完成此操作,但是插件UI很方便,并且可以确保行或空格的末尾没有任何问题。
要绝对寻址插件中的文件,请查看here