2012-09-27 50 views
1

有沒有辦法在工作空間之外加載文件? 這是我發現:以編程方式將文件加載到TextEditor中,但不在工作空間中

IFile fileToBeOpened = ...; 
IEditorInput editorInput = new FileEditorInput(fileToBeOpened); 
IWorkbenchWindow window=PlatformUI.getWorkbench().getActiveWorkbenchWindow(); 
IWorkbenchPage page = window.getActivePage(); 
page.openEditor(editorInput, "org.eclipse.ui.DefaultTextEdtior"); 

這裏的問題是第一道防線。我想要編輯的文件是java.io.File類型。但是沒有辦法將它轉換爲IFile實例。我如何將我的java.io.File作爲我的編輯器的輸入?

回答

2

要打開外部文件按照下列指示 http://wiki.eclipse.org/FAQ_How_do_I_open_an_editor_programmatically%3F

import java.io.File; 
import org.eclipse.core.filesystem.EFS; 
import org.eclipse.core.filesystem.IFileStore; 
import org.eclipse.ui.PartInitException; 
import org.eclipse.ui.IWorkbenchPage; 
import org.eclipse.ui.PlatformUI; 
import org.eclipse.ui.ide.IDE; 

File fileToOpen = new File("externalfile.xml"); 

if (fileToOpen.exists() && fileToOpen.isFile()) { 
    IFileStore fileStore = EFS.getLocalFileSystem().getStore(fileToOpen.toURI()); 
    IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); 

    try { 
     IDE.openEditorOnFileStore(page, fileStore); 
    } catch (PartInitException e) { 
     //Put your exception handler here if you wish to 
    } 
} else { 
    //Do something if the file does not exist 
} 
+0

TNX!我之前找到了這個代碼,但它沒有工作......但它現在起作用。 – Arninja

相關問題