快速业务通道

使用Eclipse向导进行快速开发 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
}      return true;    }

接下来,略微修改 doFinish() 方法使其接受标题作为参数并将其传递给 openContentStream() 方法。

清单 14. 接受标题作为参数的最终 doFinish() 方法/**    * The worker method. It will find the container, create the file if missing    * or just replace its contents, and open the editor on the newly created    * file.    */    private void doFinish(String containerName, String fileName, String title,        IProgressMonitor monitor) throws CoreException {      monitor.beginTask("Creating " + fileName, 2);      IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();      IResource resource = root.findMember(new Path(containerName));      if (!resource.exists() || !(resource instanceof IContainer)) {        throwCoreException("Container \"" + containerName            + "\" does not exist.");      }      IContainer container = (IContainer) resource;      final IFile file = container.getFile(new Path(fileName));      try {        InputStream stream = openContentStream(title);        try {          if (file.exists()) {            file.setContents(stream, true, true, monitor);          } else {            file.create(stream, true, monitor);          }        } finally {          stream.close();        }      } catch (IOException e) {      }      monitor.worked(1);      monitor.setTaskName("Opening file for editing...");      getShell().getDisplay().asyncExec(new Runnable() {        public void run() {          IWorkbenchPage page = PlatformUI.getWorkbench()              .getActiveWorkbenchWindow().getActivePage();          try {            IDE.openEditor(page, file, true);          } catch (PartInitException e) {          }        }      });      monitor.worked(1);    }

使用Eclipse向导进行快速开发(10)

时间:2011-03-06 IBM Nathan A. Good

最后,需要修改 openContentStream() 方法的很大一部分才能够将文件中的 $title 值替换为用户提供的值(参见清单 15)。在配有大量不同值的模板中,您可以使用更精确的解决方案,例如扩展 FilterInputStream 并替换一整组不同值的新类。

清单 15. 最终的 openContentStream() 方法/**    * Initialize the file contents to contents of the given resource.    */    private InputStream openContentStream(String title ) throws CoreException {      final String newline = "\n"; // System.getProperty("line.separator");      String line;      StringBuffer sb = new StringBuffer();      try {        InputStream input = this.getClass().getResourceAsStream(            "index-xhtml-template.resource");        BufferedReader reader = new BufferedReader(new InputStreamReader(            input));        try {          while ((line = reader.re

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号