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 nameMessage,locale zh_CN
答 因为在命令提示符中是没有错误的
解决方法是在myeclipse中会出现这个错误java国际化之Canfind bundle forbase name
分类 JAVA2011-02-2221 :17231人阅读评论(0)收藏举报
1 .初步学习
最近在学习ResourseBundle时遇到了“Can't find bundleforbase name”这个错误搞了很久才解决了。原因就是类路径问题要将属性文件放在类路径中百度里很多都是教程但没有涉及到解决方法 2.中文显示
测试文件java代码package com. lht.ResourseBundleStudy;import java.uti l .ResourceBundle;publ ic class ResourseBundleDemo{publ ic staticvoid main(String[]args) {
ResourceBundle resource=ResourceBundle.getBundle("test");
System.out.print(resource.getString("msg0")+"!");
System.out.println(resource.getString("msg1")+"!"); }
}test.propertiesmsg0="Hel lo World"msg1="dajia hao"
开始自己测试的时候将属性文件放在bin/下也试过也不行无赖中就在google中搜索了一下终于在sun的java论坛
(http://forum.java.sun.com/thread.jspa?threadID=&messageID=)中找到了线索下面是帖子的内容
I've solved the problem the best way possible.Basical ly what i 've done is added a newclass folder named config to the projecthome dir.Then i added this classfolder totheclasspath in project properties.After doing al l of this you onlyneed to reference theproperties fi le by"Emai l".
Hope this helps anyone elsewho is havingsimi l iar problems.
基本意思就是在src下建立classes(名字无所谓)文件夹将属性文件存放在下面然后将这个文件夹加入类路径中运行就可以了
加入类路径的方法:你的工程文件夹->properties->选择Libraries选项卡->Add Class Folder将刚才建立的文件夹加入就可以了
结果如下
"Hel lo World"!"dajia hao"; !
2.中文显示
在classes目录下建立message_CH.properties内容如下:ms0="大家好"
同样用上面的测试文件
结果如下 "?ó????"!
乱码怎么回事啊
在百度里搜索后找到了答案有以为网友写的很清楚 http://gostar.bokee.com/.html下面引用如下:
原理
Property文件中使用的编码方式根据机器本身的设置可能是GBK或者UTF-8。而在Java程序中读取Property文件的时候使用的是Unicode编码方式这种编码方式不同会导致中文乱码。因此需要将Property文件中的中文字符转化成Unicode编码方式才能正常显示中文。
解决办法
Java提供了专门的工具对Property文件进行Unicode转化这种工具就是native2asci i 它在JDK安装环境的bin 目录下。native2asci i工具将带有本机编码字符非拉丁1和非单一码字符的文件转换成带有Unicode编码字符的文件。
假设需要转化的属性文件为 D:/src/resources.properties 含有中文字符
转化后的属性文件为 D:/classes/resources.properties 中文字符统一转化为Unicode那么使用如下命令
JAVA_HOME/bin/native2asci i -encoding GBK D:/src/resources.properties
D:/classes/resources.properties
就能将含有中文字符的属性文件转化成单一Unicode编码方式的属性文件。 中文乱码自然会被解决。
通过上面的方法我将生成的文件打开一看内容如下:ch="/u5927/u5bb6/u597d"
再运行结果如下
"大家好"
2另一种解决办法Can' t find bundle for base name2010-09-1015:23:14
标签 namefind Can base bundle
原创作品允许转载转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。 http://stones blog 51cto com//
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下
其实原因是我虽然在bui ld path里面加了\pruway\source\source\config但是系统编译的时候在classes里面应该会自动产生resource_en_US properties可是实际情况是classes包下面没有产生故我删掉重加再编译结果发现通过了。 。
就是说 只要你bui ldpath路径对了该路径下也有resoucebudle需要的类那么系统会自动在classes里面自动编译产生这些类的。所以先检查classes里有没有生成对应的resource_en_US properties,如果没有那么检查bui ld 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”j ava.lang.nosuchmethoderror
12.
java.net.UnknownHostException http://www.b aidu.com/
原始出错程序是这样的
解答方式 import java.net.InetAddress ;public class a{public static void main(String args[ ] ) throws Exception {//所有异常抛出
InetAddress locAdd = null ;
InetAddress remAdd = null ;locAdd = InetAddress.getLocalHost( ) ;//得到本机remAdd = InetAddress.getByName("http://www.baidu.com/" ) ;
System.out.println("本机的IP地址 " + locAdd.getHostAddress() ) ;
System.out.println("MLDNJAVA 的 IP 地 址 " +remAdd.getHostAddress() ) ;
System.out.println("本机是否可达 " + locAdd.isReachable(5000)) ;
}
//5000代表代数
};
运行后结果为
如果注释掉remAdd = InetAddress.getByName("http://www.baidu.com/" ) ;
运行结果又是这样的
上述程序的解决办法是将remAdd = InetAddress.getByName("http://www.baidu.com/") ;改成
程序运行结果如下
完成实验要求但是这里就有一个问题了为什么去掉http//和后面的/的就运行的了呢
2但是对于这个极其相似的程序却可以运行出结果import java.net.InetAddress ;public class b {public static void main(String args[ ] )throws Exception{
InetAddress address=InetAddress.getByName("www.microsoft.com") ;
System.out.println("ip: "+address.getHostAddress() );
System.out.println("host: "+address.getHostName() ) ;
System.out.println("canonical host name:"+address.getCanonicalHostName() ) ;byte[] bytes=address.getAddress() ;for(byte b:bytes)
{if(b>=0)System.out.print(b) ;else System.out.print(256+b);
}
}
}
运行结果为
13.运行下列程序出现了这样的错误这是线程的知识 一个线程如果启动了再启动一个的时候就会报错java. lang. Il legalThreadStateException
程序如下 class thrund extends Thread{private String name;public thrund(String name) {thi s.n ame=n ame;
}public void run( ) { //线程完成的动作for(int j=0;j<4; j++) {
System.out.println(name+"第"+j+"个") ;
}
}
} ;public class a {public static void main(String agrs[ ] ) {thrund th1=new thrund("线程A") ; //实例化一个线程对象th1.start( ) ; //调用线程主体th1.start( ) ; //调用线程主体
}
} ;
运行结果如下
14.The public type abc must be defined in itsown fi le这样的警告是出现在我下面这样的程序中的
所以我在百度上输入这样的问题 java程序中两个类为什么不能同时有public 其中有一个是主方法
得到的回答是这样的
因为一个GM规定一个类中只能有一个PUBLIC的 而且源文件的名字只能和PUBLKIC属性的类去一个名字。
另一种回答是这样的 同个源文件有多个公共类编译器就找不到应该执行的main方法了
15.运行下列泛型程序时出现一下错误
程序 class add<T>{private T y;public T p(T y) {
System.out.println(y) ;return y;
}
}public class a{public static void main (String args[ ] ) {add <String> adder=new add<String>( ) ;
//System.out.println("输出属性"+adder.getX( ) ) ;
//adde r.p("你好邱林和") ;fun(adder) ;public static void fun(add<?> temp) {
System.out.println("内容"+temp) ;
}
}
}
出现了如下错误
其中这个void is an invalid type for the variable fun这个错误的解释时
第一步检查拼写是否错误; 第二步检查void actionPerformed(ActionEvent ae){}函数的位置不能让它嵌套在别的函数里。我不知道为什么但我这样改对了。
通过这个观察上述代码确实发现这个fun方法被包含在了主方法中所以导致这个错
无忧云怎么样?无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免备案建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高防节点,目前商家开启了夏日清凉补贴活动,商家的机器还是非常...
buyvm的第四个数据中心上线了,位于美国东南沿海的迈阿密市。迈阿密的VPS依旧和buyvm其他机房的一样,KVM虚拟,Ryzen 9 3900x、DDR4、NVMe、1Gbps带宽、不限流量。目前还没有看见buyvm上架迈阿密的block storage,估计不久也会有的。 官方网站:https://my.frantech.ca/cart.php?gid=48 加密货币、信用卡、PayPal、...
reliablesite怎么样?reliablesite是一家于2006年成立的老牌美国主机商,主要提供独服,数据中心有迈阿密、纽约、洛杉矶等,均免费提供20Gbps DDoS防护,150TB月流量,1Gbps带宽。月付19美金可升级为10Gbps带宽。洛杉矶/纽约/迈阿密等机房,E3-1240V6/64GB内存/1TB SSD硬盘/DDOS/150TB流量/1Gbps带宽/DDOS,$95/月,...