从EObject的绝对URI获取相对路径

时间:2014-02-27 00:09:38

标签: eclipse path eclipse-emf emf

我有一个EObject的URI,如下所示:

file:/C:/runtime-run123.product/Project1/examples/Apple.ecore#/

我通过调用EcoreUtil.getURI(ePackage)获取URI,其中ePackage是类EPackage的实例。

如何从该URI获取相对路径?结果应为:/Project1/examples/Apple.ecore

1 个答案:

答案 0 :(得分:1)

您可以使用IFile#getFullPath获取相对路径。您需要先从EObject转换为IFile

实施例

URI uri = EcoreUtil.getURI(eObject);
IPath path = new Path(uri.toFileString());
IFile file = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(path);

System.out.println(file.getFullPath()); // Relative path