动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.幸福的联姻:Java 和 Python.
.返回值过载.
.Java 网络编程---I/O部分学习笔记.
.让JavaME程序真正Run Anywhere.
.Daemon线程.
.OJB中的多表查询和更新.
.CopyFile 方法.
.深入Java中文问题及最优解决方法.
.Java加密技术:对Atom进行签名 加.
.GetFolder 方法.
.Python anygui 项目预览.
.在JAVA中定义类的结构.
.Think in java 3rd 中文版6.
.JAVA高级开发:使用Axis开发Web .
.J2EE Design Patterns.
.用Python创建Java类.
.新手入门:Java语言完成UDP协议编.
.创建 JSF Web 项目和页面模板(1.
.内部类和上溯造型.
.谈谈J2ME简表.

JBuilder 9.0开发实用技巧七招

发表日期:2008-1-5 |



  同步输出目录
  在Java开发过程中,有时候我们要创建一些简单的类来测试某些功能,测试完成后就从磁盘删除该类的源文件,因为我们不想让该类出现在最终的产品中。但是,虽然源文件已经被删除,编译好的class文件仍可能留在磁盘上,当有其他的类依靠于该类,就可能导致开发环境的不稳定。
  
  在JBuilder中,我们可以设置一个编译选项来同步(Synchronize)Java的源文件和对应的类,这样,一旦Java源文件被删除,对应的class文件也将被删除。按照如下步骤设置该同步选项:
  
  打开 Project Project Properties...
  
  选择 Compiler 选项卡,看到如下对话框:
  
 JBuilder 9.0开发实用技巧七招(图一)


  注重Synchronize output dir选项。选中该选项就可以实现输出目录同步,每次编译时JBuilder将保证Java源文件与Java class文件的同步。
  输出调试信息
  
  很多时候,我们要向标准输出设备输出一些简单的变量值,以便了解程序的运行情况。例如,在程序中加入类似下面的代码:
  
  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)。
  
JBuilder 9.0开发实用技巧七招(图二)

  点击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的属性值就能够完整地读取出来
上一篇:图解 Visual Studio .Net 团队开发 人气:581
下一篇:用Java的循环实现矩阵乘法代码分享 人气:785
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-13 爬爬思特新闻管理系统 v2.0 Beta1
2008-10-13 Pligg v9.9.5 Beta
2008-10-13 广优邮件发送系统 v2.1
2008-10-13 缤纷互动视频交友 v3.1 RC
2008-10-13 MyShop网络商城 build 081005
2008-10-13 Chyrp 超轻量级开源博客引擎 v2.
2008-10-13 162100静态(论坛/文章)系统 v2.4
2008-10-13 金博人才招聘求职网黄金版 v4.2
2008-10-13 愚人笔记 v4.0
2008-10-11 联系人分组工具 v1.1 中文破解版
2008-10-11 FaceMelter变脸 v2.0 汉化破解版
2008-10-11 PathTracker道路跟踪仪 v1.2 破解
2008-10-11 Rooms手机聊天室 v0.6.7 破解版
2008-10-11 RemoteDesktop远程桌面 v1.0 破解
2008-10-11 ProRemote远程调音台 v1.0.1 破解
2008-10-11 PicShare照片共享 v1.0.0 破解版
2008-10-11 Photogene照片编辑器 v1.5 汉化破
2008-10-11 WriteRoom共享文档 v1.0 破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成