Eclipse插件入门-----刷新资源

对于刷新资源关键接口是org.eclipse.core.resources.IResource,只需要调用接口的refreshLocal,比如:

refreshLocal(IResource.DEPTH_INFINITE, null)

在插件开发中有以下接口继承了IResource接口:IContainer、IFolder、IProject、IWorkspaceRoot、IFile

接口的继承关系:

接口                                extends
IResource                         无
IContainer                     IResource
IFile                                IResource
IFolder                          IContainer
IProject                         IContainer
IWorkspaceRoot         IContainer

类的继承关系

类的继承结构

类                            extends                        implements
Resource                     无                            IResource
Container                Resource                    IContainer
File                          Resource                    IFile
Folder                     Container                    IFolder
Project                     Container                   IProject
WorkspaceRoot    Container                   IWorkspaceRoot


下面是关于刷新的一个实例:

/**
  * 刷新指定项目的指定资源
  * @param refreshType 刷新类型,project表示刷新整个项目,file表示刷新某个文件等
  * @param resourcePath 需要的资源的相对路径,如果是刷新项目,则为空
  * @param projectName   指定项目名称
  */
 public static void refresh(String refreshType, String resourcePath,
   String projectName){
  IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
  IProject project = root.getProject(projectName);
  if(project.exists()){
   try {

    //刷新项目
    if(“project”.equals(refreshType)){
     project.refreshLocal(IResource.DEPTH_INFINITE, null);
    }else if(“package”.equals(refreshType) ||
      "floder".equals(refreshType)){

   //刷新包或者文件夹
     IFolder floder = project.getFolder(resourcePath);
     if(floder.exists()){
      floder.refreshLocal(IResource.DEPTH_INFINITE, null);
     }
    }else if“packagefile”.equals(refreshType) ||
      "floderfile".equals(refreshType) ||
      "file".equals(refreshType)){

//刷新包文件、文件夹文件或者文件
     IFile file = project.getFile(resourcePath);
     if(file.exists()){
      file.refreshLocal(IResource.DEPTH_INFINITE, null);
     }
    }
   } catch (CoreException e) {
    throw new RuntimeException(e);
   }
  }
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值