【问题标题】:Get relative path from absolute URI for EObject从 EObject 的绝对 URI 获取相对路径
【发布时间】:2014-03-30 03:57:29
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: eclipse path eclipse-emf emf


    【解决方案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
    

    【讨论】:

    • 效果很好!谢谢!
    猜你喜欢
    • 1970-01-01
    • 2022-06-10
    • 2014-12-03
    • 2011-08-11
    • 2010-09-21
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多