注册emf package并读取EMF文件

  /**
     * 读EMF文件
     * 
     * @param uri
     * @return
     */
    public static Resource readEMFFile(URI uri) {
        ResourceSet resourceSet = new ResourceSetImpl();
        //注册文件名后缀
        resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("xxx", new XMIResourceFactoryImpl());
        //注册自己的模型的PACKAGE
        resourceSet.getPackageRegistry().put(XXXPackage.eINSTANCE.getNsURI(), XXXPackage.eINSTANCE);

        Resource resource = resourceSet.getResource(uri, true);
        try {
            resource.load(null);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return resource;
    }
原文地址:https://www.cnblogs.com/demonrain/p/4105780.html