2017-04-04 59 views
0

我想在NetBeans編輯器(IOProvider.getDefault().getIO(...);)中打開由其路徑指定的文件。NetBeans平臺 - 從輸出控制檯打開文件

我希望與某些Java/C/C++或任何其他編程語言打印異常時的功能相同。至於我現在去了:

  1. 寫控制檯輸出(見在最後的例子)
  2. 通過使用OutputListener解決什麼應該被打印成超
  3. OutputListener.outputLineAction定義什麼在

點擊錯誤信息的一個例子時做點擊超文本系統上IOColorPrint.print(InputOutput io, CharSequence text, OutputListener listener, boolean important, Color color)

  • 打開該文件時,我需要解決:

    導出成功。 C:導出的文件中可以找到\用戶\ MY_USER \桌面\ myfile.xml中

    我已經是我必須打印所有輸出在一個線和OutputEvent給了我這個問題的所有線。有沒有辦法只得到Highlited文本(路徑)?

  • 回答

    0

    此調用打開新的控制檯輸出選項卡:

    IOProvider.getDefault().getIO(...) 
    

    你應該InputStream和使用類,而(X = is.read()= N ....

    IOProvider.getDefault().getIO(...).getInputStream 
    

    令!我知道,如果這是有用的

    +0

    我用OutputListener指定我想要做的動作時,文件的路徑,在用戶點擊。在outputLineAction方法中我插入了Desktop.getDesktop()。open(new File(oe.getLine())); 「oe.getLine()」返回所有行而不僅僅是特定路徑的問題。現在,我打印一個新行的路徑(但它看起來不漂亮;()。 – Aguid

    +0

    您可以顯示類/發送鏈接的快照,我會嘗試它,謝謝 – user1722245

    +0

    我解決了這個問題。解決:) – Aguid

    0

    這裏監聽:

    public class HyperlinkToFileOutputListener implements OutputListener { 
    
    private final File file; 
    
    public HyperlinkToFileOutputListener(File file) { 
        this.file = file; 
    } 
    
    @Override 
    public void outputLineSelected(OutputEvent oe) { 
    } 
    
    @Override 
    public void outputLineAction(OutputEvent oe) { 
        try { 
         if (file.exists()) { 
          Desktop.getDesktop().open(file); 
         } 
        } catch (IOException ex) { 
         Exceptions.printStackTrace(ex); 
        } 
    
    } 
    
    @Override 
    public void outputLineCleared(OutputEvent oe) { 
    } 
    

    }

    這裏的呼叫

    IOColorPrint.print(io, file.getName(), new HyperlinkToFileOutputListener(file), true, Color.BLUE); 
    

    問候