1.java.lang.NullPointerException
      原因是:有空指针,有地址没赋值
    2.Exception in thread "main" java.lang.ArithmeticException: / by zero
      原因是除数是0
    3.ArrayIndexOutOfBoundsException
        原因是:数组越界
      4.java.lang.NumberFormatException
        原因是:数字格式化有问题
      5、Unhandled exception type Exception
      原因是:没有进行异常处理
      6.进行国际化操作的时候遇到这样的错误:Exception in thread "main" java.util.MissingResourceException: Can't find bundle for base name Message, locale zh_CN
      答:因为在命令提示符中,是没有错误的
      解决方法是:在myeclipse中,会出现这个错误java国际化之Can't find bundle for base name
分类: JAVA2011-02-22 21:17231人阅读评论(0)收藏举报
1.初步学习
最近在学习ResourseBundle时遇到了“Can't find bundle for base name ”这个错误搞了很久才解决了。原因就是类路径问题要将属性文件放在类路径中!百度里很多都是教程但没有涉及到解决方法! 2.中文显示:
测试文件
java 代码
package com.lht.ResourseBundleStudy;
import java.util.ResourceBundle;
public class ResourseBundleDemo {
public static void main(String[] args) {
ResourceBundle resource = Bundle("test");
System.out.String("msg0") + "!");
System.out.String("msg1") + "!"); }
}
test.properties
msg0="Hello World"
msg1="da jia hao"
开始自己测试的时候:将属性文件放在bin/下也试过也不行无赖中就在google中搜索了一下终于在sun的java论坛
(forum.java.sun/thread.jspa?threadID=660477&messageID=4231534)中到了线索下面是帖子的内容:
I've solved the problem the best way possible. Basically what i've done is added a new class folder named config to the project home dir. Then i added this classfolder to the classpath in project properties. After doing all of this you only need to reference the properties file by "Email".
Hope this helps anyone else who is having similiar problems.
基本意思就是在src下建立classes(名字无所谓)文件夹将属性文件存放在下面,然后将这个文件夹加入类路径中!运行就可以了:
加入类路径的方法:你的工程文件夹->properties->选择Libraries选项卡->Add Class Folder将刚才建立的文件夹加入就可以了!
结果如下:
"Hello World"!"da jia hao";!
2.中文显示
在classes目录下建立message_CH.properties内容如下:
ms0="大家好"
同样用上面的测试文件!
结果如下:"?ó"!
乱码怎么回事啊!
在百度里搜索后到了答案有以为网友写的很清楚:gostar.bokee/3885062.html
下面引用如下:
原理
Property文件中,使用的编码方式根据机器本身的设置可能是GBK或者UTF-8。而在Java程序中读取Property文件的时候使用的是Unicode编码方式,这种编码方式不同会导致中文乱码。因此需要将Property文件中的中文字符转化成Unicode编码方式才能正常显示中文。
解决办法
Java提供了专门的工具对Property文件进行Unicode转化,这种工具就是native2ascii,它在JDK安装环境的bin目录下。
native2ascii 工具将带有本机编码字符(非拉丁 1 和非单一码字符)的文件转换成带有Unicode编码字符的文件。
假设需要转化的属性文件为:D:/src/resources.properties(含有中文字符)
转化后的属性文件为:D:/classes/resources.properties(中文字符统一转化为Unicode)
那么使用如下命令
JAVA_HOME/bin/native2ascii -encoding GBK D:/src/resources.properties D:/classes/resources.properties
就能将含有中文字符的属性文件转化成单一Unicode编码方式的属性文件。中文乱码自然会被解决。
通过上面的方法我将生成的文件打开一看内容如下:
ch="/u5927/u5bb6/u597d"
再运行结果如下:
"大家好"
    (2)另一种解决办法:Can't find bundle for base name
2010-09-10 15:23:14
标签:name find Can base bundle
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。stones.blog.51cto/621580/389939
Struts2国际化异常处理
这是不到指定文件;
你必须把 .properties 文件,放在与这个调用文件.java 相同的目录里;
Hello.java在workspace\test\src\com\lj\guojiehua下
hello_en_US.properties必须在workspace\test\src下
hello_zh_CN.properties必须在workspace\test\src下
其实原因是我虽然在build path 里面 加了\pruway\source\source\config,但是系统编译的时候,在classes里面应该会自动产生resource_en_US.properties,可是实际情况是classes包下面没有产生,故我删掉重加,再编译结果发现通过了。。
就是说,只要你buildpath路径对了,该路径下也有resoucebudle需要的类,那么系统会自动在classes里面自动编译产生这些类的。所以,先检查classes里,有没有生成对应的resource_en_US.properties,如果没有,那么检查build path 路径下有没有对应的properties类,如果有,那么证明系统编译没有编译完整,删掉path,重新add foler,加入,再编译,检查classes下有无。
如果都有,那么证明成功。
    10.java.lang.IllegalThreadStateException
        解决办法:不能启动两次线程
      11.java.lang.NoSuchMethodError
答:必须有一个public static void main(String[] args){//这里是入口}作为入口点,启动java虚拟机时虚拟机会这个方法,如果没有就报exception in thread “main”suchmethoderror
    12. java.UnknownHostException    :www.baidu/
      原始出错程序是这样的:
      解答方式:import java.InetAddress ;
public class a{
    public static void main(String args[]) throws Exception {nullpointerexception为什么异常// 所有异常抛出
        InetAddress locAdd = null ;
        InetAddress remAdd = null ;
        locAdd = InetAddress.getLocalHost() ;// 得到本机
        remAdd = InetAddress.getByName("www.baidu/")  ;
        System.out.println("本机的IP地址:" + HostAddress()) ;
        System.out.println("MLDNJAVA的IP地址:" + HostAddress()) ;
        System.out.println("本机是否可达:" + locAdd.isReachable(5000)) ;