我有一个 EObject 的 URI,如下所示:
file:/C:/runtime-run123.product/Project1/examples/Apple.ecore#/
我通过调用获取 URI EcoreUtil.getURI(ePackage)
,其中 ePackage 是类的一个实例EPackage
。
如何从该 URI 获取相对路径?结果应该是:/Project1/examples/Apple.ecore
我有一个 EObject 的 URI,如下所示:
file:/C:/runtime-run123.product/Project1/examples/Apple.ecore#/
我通过调用获取 URI EcoreUtil.getURI(ePackage)
,其中 ePackage 是类的一个实例EPackage
。
如何从该 URI 获取相对路径?结果应该是:/Project1/examples/Apple.ecore
您可以使用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