Eclipse 获取文件路径

/**
* 获得当前选中的文件路径
* @return
*/
private static String getCurrentSelectionLoction(){    
         ISelectionService selectionService =     
             Workbench.getInstance().getActiveWorkbenchWindow().getSelectionService();    
         ISelection selection = selectionService.getSelection();    
         //IProject project = null;
         IResource resource = null;
         if(selection instanceof IStructuredSelection) {    
             Object element = ((IStructuredSelection)selection).getFirstElement();    
     
             if (element instanceof IResource) {    
            resource= ((IResource)element).getProject();
            String resourceLocation = ((IResource)element).getLocation().toString();
            int isProject = resourceLocation.compareTo(resource.getLocation().toString());
            if (isProject > 0) {
             String FilePath = resourceLocation;
             String FileLocation[] = FilePath.split("/");
             String fileLocation="" ;
             int length = FileLocation.length;
             for (int i = 0; i < length-1; i++) {
             fileLocation = fileLocation + FileLocation[i] + "/";
             }
                   return fileLocation;
               }
             } else if (element instanceof IAdaptable) {  
              IAdaptable adaptable = (IAdaptable) element; 
              resource = (IResource) adaptable.getAdapter(org.eclipse.core.resources.IResource.class);
              if (resource instanceof IFile) {
              String FilePath = ((IFile) resource).getLocation().toString();
              String FileLocation[] = FilePath.split("/");
              String fileLocation="" ;
              int length = FileLocation.length;
              for (int i = 0; i < length-1; i++) {
              fileLocation = fileLocation + FileLocation[i] + "/";
              }
                return fileLocation;
           }
             }
         }  
         if (resource == null) {  
        return null;  
    }
         if (resource.getLocation() != null) {
        String FilePath = resource.getLocation().toString();
        String FileLocation[] = FilePath.split("/");
        String fileLocation="" ;
        int length = FileLocation.length;
        for (int i = 0; i < length-1; i++) {
         fileLocation = fileLocation + FileLocation[i] + "/";
        }
             return fileLocation;
       } else {  
           return null;  
       }   
     }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值