快速业务通道

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

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

doFinish() 方法

如下所示,doFinish() 方法将创建新文件并通过 IDE 中的编辑器打开新文件。将调用 openContentStream() 方法以获得给新文件填充内容的输入流。

清单 4. 初始的 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,      IProgressMonitor monitor)      throws CoreException {      // create a sample file      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();        if (file.exists()) {          file.setContents(stream, true, true, monitor);        } else {          file.create(stream, true, monitor);        }        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);    }

openContentStream() 方法

如下所示,openContentStream() 方法将返回包含生成的静态字符串作为模板一部分的 ByteArrayInputStream。对于本文,字符串将被替换为模板文件的内容。

此方法中的代码是首先必须更改的,这样才能在创建时允许把更多有用的内容添加到新文件中。

清单 5. openContentStream() 方法/**    * Initialize file contents with a sample text.    */    private InputStream openContentStream() {      String contents =        "This is the initial file contents for *.html " +        "file that should be word-sorted in the Preview " +        "page of the multi-page editor";      return new ByteArrayInputStream(contents.getBytes());    }

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

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

添加基本内容

新文件的内容不使用静态字符串值,您可以使用 getResourceAsStream() 方法把文件的内容载入到 InputStream 中,并且 doFinish() 方法可以用它来填充新文件。请做出如下所示的修改。

清单 6. 从资源获得输入流/**    * Initialize the file contents to contents of the

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号