`
isiqi
  • 浏览: 16650714 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

JBuilder 9.0开发实用技巧七招

阅读更多

  同步输出目录

  在Java开发过程中,有时候我们要创建一些简单的类来测试某些功能,测试完成后就从磁盘删除该类的源文件,因为我们不想让该类出现在最终的产品中。但是,虽然源文件已经被删除,编译好的class文件仍可能留在磁盘上,当有其他的类依赖于该类,就可能导致开发环境的不稳定。

  在JBuilder中,我们可以设置一个编译选项来同步(Synchronize)Java的源文件和对应的类,这样,一旦Java源文件被删除,对应的class文件也将被删除。按照如下步骤设置该同步选项:

  打开 Project | Project Properties...

  选择 Compiler 选项卡,看到如下对话框:

  输出调试信息

  很多时候,我们要向标准输出设备输出一些简单的变量值,以便了解程序的运行情况。例如,在程序中加入类似下面的代码:

System.out.println("调试信息: 变量的值是" + value);

  当编写和调试代码的工作结束,接下去就要进行最后的编译和打包,这时就要删除所有上面这些System.out.println代码。为了避免这些麻烦,我们可以引入一个逻辑变量debugMode,把它设置为true,并在输出调试信息之前检查这个变量的值:

if (debugMode)
System.out.println("调试信息: 变量的值是" + value);


  所有调试工作结束之后,再把debugMode变量设置成false,这样程序运行时就不会再输出调试信息。

  但是,这还不是处理类似调试信息的最佳办法,我们可以用Diagnostic类来改进。Diagnostic类有三个与输出流有关的方法,除了标准的System.err输出流,还可以赋予其他不同的输出流(例如文件或URL)。最重要的是,当编写和调试代码的工作结束之后,我们可以在正式编译时排除Diagnostic类,从而也就排除了对Diagnostic类方法的所有调用。

  下面是Diagnostic类中可用于输出信息的三个方法:

   print(String message):输出信息
   println(String message):输出信息,并追加行结束符。
   printlnc(String message):输出带有行结束符、计数器(它的值不断递进)和Tab字符的信息。

  因此,我们可以把上面的System.out.println替换为:

Diagnostic.printlnc("调试信息:变量的值是:" + value);


  这些输出方法的标准输出设备是System.err,但我们可以用setLogStream(PrintStream log)方法改变它。例如,假设要把输出发送到log.txt文件,只需插入如下代码:

Diagnostic.setLogStream(new java.io.PrintStream(new
java.io.FileOutputStream("log.txt")));


  最后,在开发期间,我们只需调用一个方法就可以关闭所有的输出:

Diagnostic.enable(false);


  资源捆绑

  在Java中,要把直接嵌入到程序的字符串作为资源使用是很容易的。例如,只要把字符串保存到一个独立的文件,我们就可以很方便地通过创建不同的文件实现对多种语言的支持。

  为了把“硬编码”的字符串保存到资源捆绑文件,标准Java API提供两种办法:

  · 把键-值对以属性文件的形式保存到文本文件。

  · 把键-值对保存到Java源文件中的String[][]数组对象,该Java源文件从java.util.ListResourceBundle扩展。

  第一种方法具有较好的灵活性,可以在不重新编译的前提下修改字符串值。第二种方法具有较好的性能,但每次修改字符串值,包含键-值对的Java源代码文件都必须重新编译。JBuilder提供了保存硬编码字符串值的第三种方法,即com.borland.jb.util.ArrayResourceBundle。

  ArrayResourceBundle类通过一个String[]数组对象保存键的值,但不包含键,我们可以通过索引访问值,即第一个值的索引为0,第二个值的索引为1,等等。由于可以直接访问值,因此性能相当好。但也有缺点——维护保存值的文件很困难,因为值和键之间没有直接的(直观的)联系。

  异常跟踪

  在Java中,利用try..catch(..finally)语句可以捕获和处理异常,非常方便。catch块的常见异常处理方式是输出异常,例如把异常输出到日志文件。

  Exception类有一个printStackTrace()方法,它能够从发生异常的方法中输出堆栈信息,默认输出位置是System.err。但是,有时候我们要把堆栈信息输出到System.err之外的其他地方,例如在出现异常时把堆栈信息输出到email,或者用一个对话框显示出来。

  printStackTrace()方法有几种不同的类型:

  · printStackTrace(),输出到标准错误流。

  · printStackTrace(PrintStream ps),输出到名为ps的PrintStream。

  · printStackTrace(PrintWriter pw),输出到名为pw的PrintWriter。

  我们可以用最后一种printStackTrace()方法把堆栈信息保存到String对象。只要在String对象中捕获了堆栈信息,我们就可以方便地在应用的任何地方使用这些信息了。下面的代码片断示范了具体的实现步骤:

private String getStackTraceAsString() {
// StringWriter将包含堆栈信息
StringWriter stringWriter = new StringWriter();
//必须将StringWriter封装成PrintWriter对象,
//以满足printStackTrace的要求
PrintWriter printWriter = new PrintWriter(stringWriter);
//获取堆栈信息
e.printStackTrace(printWriter);
//转换成String,并返回该String
StringBuffer error = stringWriter.getBuffer();
return error.toString();
}

  快速查看JavaBean基本信息

  在JBuilder中,要查看JavaBean的内部信息是非常方便的。我们可以把JavaBean拖入设计窗口中,通过Object Inspector查看JavaBean的属性和事件。但是,即使不通过设计器,我们也可以查看JavaBean的信息,这就是使用BeanInsight(菜单:Tools | BeanInsight)。


  点击Examine Bean按钮就开始分析指定的JavaBean,在BeanInsight Result区域可以看到分析JavaBean的结果。如果要了解更详细的信息,点击“View Details...”按钮。

  多个行的属性值

  属性文件是保存应用配置信息的好方法。有了属性文件,修改应用参数时只需修改简单的属性文本文件,无需重新编译整个应用。

  属性文件以“键-值”对的形式保存数据。每一个行以键开头,加上一个等于符号,再加上与该键对应的值。键与值必须在同一个行上,这一点很重要。但是,有些时候,值的内容非常多,如果值能够分成多行存放,将带来很大的方便。下面我们就来看看如何使用多行的属性值。

  首先,下面这个代码片断读取test.properties属性文件:

try {
Properties p = new Properties();
File file = new File("test.properties");
FileInputStream fis = new FileInputStream(file);
p.load(fis);
} catch (IOException ioex) {
ioex.printStackTrace();
}

  Properties类的load()方法需要一个输入流作为参数,这里我们向它传入了一个FileInputStream对象。

  接下来,我们就可以通过调用getProperty()方法从Properties对象获取属性值。下面我们来看看test.properties属性文件的内容:

singleline=Single line value
multiline =This example shows how we
can write a property
value over multiple lines in a
properties file

  这个属性文件保存了两个属性,键分别是singleline和multiline。singleline的值只有一行,而multiline的值有多行。

  如果我们调用Properties对象的getProperty()方法,并输出属性值,结果将是:

  调用:

System.out.println("singleline? " + p.getProperty("singleline"));
System.out.println("multiline ? " + p.getProperty("multiline"));

  结果:

singleline? Single line value
multiline ? This example shows how we

  multiline属性只包含了第一行值。那么,如何解决这个问题呢?其实很简单,只需要在每个行的末尾加上转义字符“\”就可以了。修改后的属性文件如下所示:

singleline=Single line value
multiline =This example shows how we \
can write a property \
value over multiple lines in a \
properties file

  再次读取属性文件的值,multiline的属性值就能够完整地读取出来





  注意Synchronize output dir选项。选中该选项就可以实现输出目录同步,每次编译时JBuilder将保证Java源文件与Java class文件的同步。

分享到:
评论

相关推荐

    图解jbuilder 9.0开发工具

    本文将对 JBuilder 9.0 的集成开发环境进行详细介绍,包括主菜单栏、主工具栏、工程窗口、结构窗口、内容窗口、文件视图标签、文件标签和状态栏等组件的功能和使用方法。 主菜单栏是 JBuilder 9.0 的核心组件之一,...

    使用JBuilder9.0开发

    有关使用JBuilder9.0开发的资源

    jbuilder 9.0教程

    JBuilder 9 是一款强大的Java集成开发环境(IDE),专为开发人员提供了一整套工具,用于构建各种类型的Java应用程序,包括桌面应用、Applet、Servlet、JSP、EJB以及WebService等。它支持Sun的J2SE 1.4和J2EE 1.4标准...

    图解Java开发工具JBuilder9.0.pdf

    图解Java开发工具JBuilder9.0.pdf

    JBuilder9.0简要教程[整理].pdf

    JBuilder 9.0 是一款由Borland公司推出的高效Java集成开发环境(IDE),专为专业软件开发者设计,它支持多种类型的Java应用程序开发,如独立应用程序、Applet、Servlet、JSP、EJB以及Web服务。JBuilder 9.0不仅提供...

    JBuilder 9.0程序设计——Java程序员成功之路

    JBuilder 9.0程序设计

    jbuilder 9.0

    jbuilder9注册文件

    JBuilder_9.0简要教程

    Jbuilder 9是功能强大的可视化Java集成开发工具,可以快速开发包括复杂企业级应用系统的各种Java程序,包括独立运行程序、Applet程序、Servlet、JSP、EJB、Web Service等

    JBuilder2006 开发指南

    这篇开发指南将深入探讨JBuilder2006的核心特性和使用技巧,帮助你充分利用这一强大的开发工具。 **1. 界面与项目管理** JBuilder2006具有直观的用户界面,允许开发者快速组织和管理多个项目。通过“项目浏览器”,...

    Jbuilder2006+Weblogic9.0的配置

    本文将详细解析如何在JBuilder 2006中配置WebLogic 9.0,以实现高效的开发与测试环境搭建。 ### JBuilder 2006与WebLogic 9.0集成配置 #### 一、环境准备 在开始配置前,确保以下软件已正确安装: - JBuilder ...

    JBuilder 9_0程序设计——Java程序员成功之路_0

    《JBuilder 9_0程序设计——Java程序员成功之路》是一部专为Java程序员设计的教程,旨在帮助读者熟练掌握JBuilder 9.0这一强大的Java集成开发环境(IDE)。JBuilder是由Borland公司开发的一款专业级的Java应用程序...

    Jbuider9.0项目实践源代码

    【JBuilder9.0项目实践源代码】是一个与Java编程相关的...总之,【JBuilder9.0项目实践源代码】是一个宝贵的教育资源,无论你是初学者还是经验丰富的开发者,都能从中获取到实用的知识和经验,提升自己的Java开发技能。

    Jbuilder开发WebService入门

    **Jbuilder开发WebService入门** Java Web Service(简称WebService)是一种基于标准协议的,可以在不同操作系统、不同编程语言之间进行通信的网络服务。Jbuilder作为早期的Java集成开发环境,提供了强大的支持来...

    jbuilder2006使用技巧

    本文将深入探讨jBuilder2006的使用技巧,旨在帮助开发者更好地掌握这款工具,提高开发效率。 ### jBuilder2006与Eclipse的对比 jBuilder2006与Eclipse是两大主流的Java开发平台,两者各有优势。Eclipse以其开源性...

    JBuilder2006开发人员指南.rar

    关于文件"jbuilder开发人员指南",这可能是压缩包内的主要文档,详细介绍了如何使用JBuilder2006进行开发,包括安装步骤、界面介绍、基本操作、项目创建、代码编写、调试技巧、部署方法等内容。通过学习这份指南,...

    JBuilder实战JSP开发

    **JBuilder实战JSP开发** JBuilder是一款由Borland公司开发的集成开发环境(IDE),主要用于Java应用程序的开发,包括Java桌面应用、Java Web应用和企业级Java应用。它以其强大的代码编辑、调试和构建功能,以及...

    JBuilder9_0与JBoss3_2_1的集成和配置

    JBuilder 是 Borland 公司开发的一款基于组件的、可视化的 Java 开发工具,其中 JBuilder 9.0 是该系列的最新版本之一。相比之前的版本,JBuilder 9.0 增加了对 EJB、JSP、XML 和数据库的强大支持。此外,通过集成 ...

    JBuilder2006开发J2EE应用程序

    《JBuilder2006开发J2EE应用程序》是一本专为Java开发者设计的实战教程,旨在帮助读者熟练掌握使用JBuilder2006进行J2EE应用开发的技术与技巧。JBuilder是一款由Borland公司开发的强大Java集成开发环境(IDE),在...

    JBuilder开发人员指南

    本指南将深入探讨JBuilder的各项特性和使用技巧,帮助开发者提高工作效率,提升编程体验。 1. **集成开发环境(IDE)概述** JBuilder作为一款全面的IDE,集成了代码编辑器、编译器、调试器、项目管理器和版本控制...

    JBuilder软件开发项目实践

    总的来说,JBuilder软件开发项目实践旨在提升开发者在Java环境中使用IDE的能力,通过实际项目的操作,加深对JBuilder特性和开发流程的理解,从而提高开发效率和代码质量。在不断发展的编程世界中,理解和掌握不同的...

Global site tag (gtag.js) - Google Analytics