前一段时间一直在搞eclipse插件开发,学习了不少东西!给我印象最深刻的是经常要获取eclipse相关的目录和路径,脑袋中大概整理了一下,总结如下: 1.String path = ((IFile)o).getLocation().makeAbsolute().toFile().getAbsolutePath();当然这句可以配合你选择的文件来获取当前文件的绝对路径 2.IWorkspace workspace = ResourcesPlugin.getWorkspace(); WorkspaceRoot root = workspace.getRoot();这两句是得到eclipse插件运行时产生的工作空间的根,再进一步root.getProjects()可以得到运行时工作空间下建立的所有工程; Platform.getInstanceLocation().getURL().getPath();这句代码也可以得到runtimeworkspace; 3.可能有的时候开发想得到正在运行的插件工程下的某个文件,但是没有直接可以得到的方法,可以按照下面这样: Bundle bundle = Platform.getBundle();//从Bundle来查找资源: URL pluginUrl = Platform.find(bundle, new org.eclipse.core.runtime.Path("plugin.xml")); URL pluginFileUrl = Platform.asLocalURL(pluginUrl);
那么y此时得到的是该插件工程所在的目录,具体寻找哪个文件可以自定义; 4.假如我们要将插件工程下的某个文件作为输入流的话,可以如下: InputStream in = *.class.getResourceAsStream("/conf/wfform-config.xml"); *代表该插件工程的插件类名,该句意为:将该插件工程下conf文件夹下的wfform-config.xml提取出来做为输入流; |