2017-04-04 55 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); 
    

    问候