文件java中常见错误和异常解决方法

dns错误怎么解决  时间:2021-02-27  阅读:()

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方法被包含在了主方法中所以导致这个错

无忧云:洛阳/大连BGP云服务器38.4元/月,雅安物理机服务器315元/月起,香港荃湾CN2限时5折优惠

无忧云怎么样?无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免备案建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高防节点,目前商家开启了夏日清凉补贴活动,商家的机器还是非常...

buyvm迈阿密机房VPS国内首发测评,高性能平台:AMD Ryzen 9 3900x+DDR4+NVMe+1Gbps带宽不限流量

buyvm的第四个数据中心上线了,位于美国东南沿海的迈阿密市。迈阿密的VPS依旧和buyvm其他机房的一样,KVM虚拟,Ryzen 9 3900x、DDR4、NVMe、1Gbps带宽、不限流量。目前还没有看见buyvm上架迈阿密的block storage,估计不久也会有的。 官方网站:https://my.frantech.ca/cart.php?gid=48 加密货币、信用卡、PayPal、...

ReliableSite:美国服务器租用,洛杉矶/纽约/迈阿密等机房;E3-1240V6/64GB/1TSSD,$95/月

reliablesite怎么样?reliablesite是一家于2006年成立的老牌美国主机商,主要提供独服,数据中心有迈阿密、纽约、洛杉矶等,均免费提供20Gbps DDoS防护,150TB月流量,1Gbps带宽。月付19美金可升级为10Gbps带宽。洛杉矶/纽约/迈阿密等机房,E3-1240V6/64GB内存/1TB SSD硬盘/DDOS/150TB流量/1Gbps带宽/DDOS,$95/月,...

dns错误怎么解决为你推荐
万维读者网用QQ邮箱向《读者》投稿具体格式湖南商标注册在湖南搞商标注册是代理好还是自己去好一点?湖南商标注册的流程又是什么样的呢?最新qq空间代码qq空间最新免费代码vista系统重装Vista系统的重装的步骤,有系统恢复盘arm开发板arm开发板是干什么用的,是用在什么领域方面的数码资源网手机练习打字的软件镜像文件是什么系统镜像是什么网易公开课怎么下载哪位高手指导一下,如何下载网易公开课啊?人人逛街人人逛街网是正品吗bt封杀现在是全面封杀BT下载了吗?现在都找不到BT下载影片了
linuxapache虚拟主机 免费动态域名解析 locvps pccw isatap 国内永久免费云服务器 68.168.16.150 evssl 免费博客空间 好看的桌面背景图 web服务器架设软件 40g硬盘 域名接入 卡巴斯基试用版 如何注册阿里云邮箱 银盘服务 网页提速 韩国代理ip 金主 1美元 更多