posts - 1,  comments - 25,  trackbacks - 0
          終于找到直接可以用的了 
          Java代碼 
          1. path = FileLocator.toFileURL(  
          2.         Platform.getBundle(IAppConstants.APPLICATION_ID)  
          3.                 .getEntry("")).getPath().toString();  



          RCP 文件路徑問(wèn)題 
          String path =FileLocator.toFileURL(Platform.getBundle("工程名").getEntry("")).getPath 

          得到eclipse rcp plugin 內(nèi)目錄文件絕對(duì)路徑的方法 
          import java.io.IOException; 
          import java.net.URL; 

          import org.eclipse.core.runtime.FileLocator; 
          import org.eclipse.core.runtime.Platform; 
          import org.osgi.framework.Bundle; 

          import com.work.base.exception.DataException; 
          import com.work.view.Activator; 

          public class BundlePathUtil { 

              public static String getRealPath(String bundleID, String entry) 
                      throws DataException { 
                  URL urlentry; 
                  String strEntry; 
                  try { 
                      Bundle bundle = Platform.getBundle(bundleID); 
                      if (bundle==null) 
                          throw new DataException("請(qǐng)檢查文件的路徑",new NullPointerException()); 
                      // get path URL 
                      urlentry = bundle.getEntry(entry); 
                      if (urlentry==null) 
                          throw new DataException("請(qǐng)檢查文件的路徑",new NullPointerException()); 
                      strEntry = FileLocator.toFileURL(urlentry).getPath(); 
                  } catch (IOException e1) { 
                      throw new DataException("請(qǐng)檢查文件的路徑", e1); 
                  } 
                  return strEntry; 
              } 
              
              public static String getPluginPath(){        
                  return Activator.getDefault().getStateLocation().makeAbsolute().toFile().getAbsolutePath(); 
                  
              }   
              
          } 

          另外,獲取插件/rcp 的workspace的路徑: 


          Platform.getInstanceLocation().getURL().getPath() 




          從插件/RCP中取得文件路徑的方法 

          最近社區(qū)里問(wèn)這個(gè)問(wèn)題的人特別多,所以在這里將自己用到的幾個(gè)方法寫(xiě)出來(lái)。假如以后還有其他的方法,會(huì)進(jìn)行更新。 

          從插件中獲得絕對(duì)路徑: 
              AaaaPlugin.getDefault().getStateLocation().makeAbsolute().toFile().getAbsolutePath()); 


          通過(guò)文件得到Project: 

          IProject project = ((IFile)o).getProject(); 


          通過(guò)文件得到全路徑: 

          String path = ((IFile)o).getLocation().makeAbsolute().toFile().getAbsolutePath(); 



          得到整個(gè)Workspace的根: 

          IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); 


          從根來(lái)查找資源: 

          IResource resource = root.findMember(new Path(containerName)); 

          從Bundle來(lái)查找資源: 

          Bundle bundle = Platform.getBundle(pluginId); 
          URL fullPathString = BundleUtility.find(bundle, filePath); 


          得到Appliaction workspace: 

          Platform.asLocalURL(PRODUCT_BUNDLE.getEntry("")).getPath()).getAbsolutePath(); 

          得到runtimeworkspace: 
          Platform.getInstanceLocation().getURL().getPath(); 

          從編輯器來(lái)獲得編輯文件: 

          IEditorPart editor = ((DefaultEditDomain)(parent.getViewer().getEditDomain())).getEditorPart(); 
          IEditorInput input = editor.getEditorInput(); 
          if(input instanceof IFileEditorInput){ 
          IFile file = ((IFileEditorInput)input).getFile(); 
          }
          posted on 2010-09-24 10:59 Daniel 閱讀(1536) 評(píng)論(0)  編輯  收藏 所屬分類: Eclipse的相關(guān)
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(3)

          隨筆檔案

          文章分類

          文章檔案

          相冊(cè)

          搜索

          •  

          最新評(píng)論

          主站蜘蛛池模板: 新泰市| 九江市| 丹江口市| 噶尔县| 淳安县| 吉木萨尔县| 榆中县| 丰城市| 扶风县| 北碚区| 温宿县| 贵溪市| 凤冈县| 拜泉县| 广水市| 江门市| 郸城县| 息烽县| 门源| 平凉市| 玉龙| 剑川县| 仁布县| 扶绥县| 桓台县| 怀安县| 喀喇沁旗| 宁化县| 蛟河市| 苍溪县| 云浮市| 新田县| 台东市| 大关县| 海安县| 宜阳县| 朝阳区| 奉贤区| 桃源县| 贡嘎县| 深水埗区|