Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Eclipse插件中读取文件_Java_Eclipse_Eclipse Plugin - Fatal编程技术网

Java 在Eclipse插件中读取文件

Java 在Eclipse插件中读取文件,java,eclipse,eclipse-plugin,Java,Eclipse,Eclipse Plugin,我需要从eclipse中的属性文件中读取配置详细信息。我已将config.properties放在与plugin.xml相同的级别,并在类文件中调用: Properties properties = new Properties(); FileInputStream file; String path = "./config.properties"; file = new FileInputStream(path); properties.load(file); 我得到一个文件未找到异常。有更

我需要从eclipse中的属性文件中读取配置详细信息。我已将
config.properties
放在与
plugin.xml
相同的级别,并在类文件中调用:

Properties properties = new Properties();
FileInputStream file;
String path = "./config.properties";
file = new FileInputStream(path);
properties.load(file);

我得到一个
文件未找到异常
。有更好的方法吗?

您是否记得将其包含在构建中

其次,无论如何,使用类加载器资源可能更好

InputStream fileStream = myClass.getResourceAsStream( "/config.properties" );
另外,还有另一种在eclipse中使用

url = new URL("platform:/plugin/com.example.plugin/config.properties");
InputStream inputStream = url.openConnection().getInputStream();

将属性文件放在项目的根目录中。这应该是
user.dir
系统属性所指向的位置。
FileInputStream
构造函数在该目录中查找该文件

您可以通过输出系统属性来确认它位于正确的目录中

System.getProperty("user.dir");

如果它是一个插件,你应该告诉它你的文件必须包含在目标中。它在build.properties文件中设置。打开它,看看-你没有提到你的文件

打开plugin.xml,进入
build
选项卡,通过检查将文件包含在binary.build中。拯救这将正确更改build.properties文件。转到
build.properties
选项卡,再次查看该文件-现在您可以正确地看到包含的文件

当然,您可以手动完成,但插件UI很方便,您可以确保行尾或空格没有任何问题


要绝对寻址插件中的文件,请查看build.properties中的

,其中包括bin.includes=plugin.xml、\META-INF/、\icons/、\、\libs/、\src/data/、\config。properties@NeilBech Nielsen:是否附加版本“com.example.plugin”这不起作用,因为文件不在目标中。这些简单的方法对插件不起作用。您有两层甚至三层的文件夹系统。(plugin/[resourceFolder/]localPath)…并且文件也应该存在于目标中。