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

标签 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

最佳答案

您可以使用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

关于eclipse - 从 EObject 的绝对 URI 获取相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22056361/

相关文章:

android - 找不到 Facebook SDK.apk

java - Ruby 路径和带有存档的小程序

python - subprocess.Popen 使用相对路径

php - 如何在 PHP 的 require_once 中指定文件系统绝对路径?

eclipse - 不同 Ecore 模型的引用 Ecore 模型路径

eclipse - 如何使#ifdef中的颜色主题在Eclipse中更具可读性?

java - 智能 : Making a project dependent on another project?

javacv代码没有运行

java - 添加到电动势模型

java - 在 EMF Compare 计算的 ADD Diff 中检索 "match of value"