我怎样才能在eclipse的项目资源管理器中获取文件的路径

how can i get the path of a file in the project explorer of exlipse

我将构建一个 eclipse rcp。在这种情况下,我将在这个 rcp 中添加一些观点。视图将是项目资源管理器视图,编辑器与 eclipse ide 相同。并且会有一些其他视图与我的 project.beside 相对应,我还有一个数据库表,文件及其路径保存在其中。所以事情是:如果用户点击一个文件,那么我将获取文件的路径或将其保存到一个变量中,以便我可以将所选文件的路径与数据库表的现有文件进行比较......所以他们不会是另一种观点,谁会使用这个我希望我能更好地解释我的问题

我的问题 is.in eclipse 的项目资源管理器视图 ide.if 你点击一个文件,然后我想得到这个文件的路径 file.does 谁知道我该怎么做获取项目 exlporer 中文件的路径。或者这个路径是否保存在任何地方,所以我可以从这个地方获取文件的路径。

我将尝试用这个例子来解释我的问题:

如果我点击文件:abc.java

并且 abc.java 文件在项目资源管理器中的路径例如:Example/src/abc.java

我的问题是:

我在哪里可以找到文件的路径 abc.java 或者这个路径是否保存在任何地方?

或更好:

如果我点击 abc.java 文件 我怎样才能获得此 abc.java 的路径,以便将此路径用于其他主题。

提前致谢

最终,答案是您需要将所选内容作为 IFile 获取。然后您可以使用 getFullPath() 向 IFile 询问其路径。参见 http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fcore%2Fresources%2FIFile.html

但是你需要为这个问题提供更多的上下文。您是否有通过选择的弹出菜单操作?您是否从其他视图注册了一个选择监听器?或者完全是别的东西?基本上,您需要告诉我们您所处的环境以及您拥有的数据。

您使用 ISelectionService 获取当前选择:

ISelectionService service = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService();

ISelection selection = service.getSelection();

if (selection instanceof IStructuredSelection)
 {
   Object selected = ((IStructuredSelection)selection).getFirstElement();

   IFile file = (IFile)Platform.getAdapterManager().getAdapter(selected, IFile.class);

   .... use file
 }

当前选择将位于当前处于活动状态的任何视图或编辑器中。您也可以向选择服务询问特定视图中的当前选择。

我将构建一个 eclipse rcp。 在这种情况下,我将在这个 rcp 中添加一些观点。视图将是项目资源管理器视图,编辑器与 eclipse ide 相同。并且会有一些其他视图与我的 project.beside 相对应,我还有一个数据库表,文件及其路径保存在其中。所以事情是:如果用户点击一个文件,那么我将获取文件的路径或将其保存到一个变量中,以便我可以将所选文件的路径与数据库表的现有文件进行比较...... 所以他们不会是另一种观点,谁会使用这个 我希望我能更好地解释我的问题

谢谢