这是eclipse插件打开文件的最后一篇了,前面两篇都是打开工作区里面的文件,这篇将一下如何打开工作区外部的文件,如何在eclipse里面文件-->打开然后选择打开文件之后文件被打开的效果。
刚刚开始我是想使用java里面的io得到一个对应的file对象,想办法转换为IFile对象,然后使用IDE的openeditor方法打开,但是一直没有找到方法如何进行转换,如果有哪个知道的还希望吱一声,后来我找到另外一个方法----IFileStore
代码如下:
/**
* 打开一个工作区外的文件
* @param filePath 文件路径
*/
public static void openFile(String filePath) {
if(filePath == null){
new RuntimeException(filePath + "不是一个文件");
}
IFileStore fileStore = EFS.getLocalFileSystem().getStore(new Path(filePath));
if (!fileStore.fetchInfo().isDirectory() && fileStore.fetchInfo().exists()) {
IWorkbenchPage page= PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
try {
IDE.openEditorOnFileStore(page, fileStore);
} catch (PartInitException e) {
new RuntimeException(e);
}
}
}
对于里面的一些类自己查API,这里就不详细解释了,大致是这样的是获得文件系统,然后根据给定的路径获得一个IFileStore对象,最后调用IDE的openEditorOnFileStore方法打开
到这里打开文件就写完了,最后说一下这里的方法至于怎么调用,什么时候调用完全由需求确定,我是当一个文件变化时候就打开文件