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

日本CN2、香港CTG(150元/月) E5 2650 16G内存 20M CN2带宽 1T硬盘

提速啦简单介绍下提速啦 是成立于2012年的IDC老兵 长期以来是很多入门级IDC用户的必选商家 便宜 稳定 廉价 是你创业分销的不二之选,目前市场上很多的商家都是从提速啦拿货然后去分销的。提速啦最新物理机活动 爆炸便宜的香港CN2物理服务器 和 日本CN2物理服务器香港CTG E5 2650 16G内存 20M CN2带宽 1T硬盘 150元/月日本CN2 E5 2650 16G内存 20M C...

德阳电信高防物理机 16核16G 50M 260元/月 达州创梦网络

达州创梦网络怎么样,达州创梦网络公司位于四川省达州市,属于四川本地企业,资质齐全,IDC/ISP均有,从创梦网络这边租的服务器均可以备案,属于一手资源,高防机柜、大带宽、高防IP业务,一手整C IP段,四川电信,一手四川托管服务商,成都优化线路,机柜租用、服务器云服务器租用,适合建站做游戏,不须要在套CDN,全国访问快,直连省骨干,大网封UDP,无视UDP攻击,机房集群高达1.2TB,单机可提供1...

A400:36元/季,16.8/月kvm架构,线路优质,延迟低

A400互联是一家成立于2020年的商家,主要推行洛杉矶服务器采用kvm架构,线路优质,延迟低,稳定性高!全场产品对标腾讯云轻量,服务器线路有有美国洛杉矶cn2_gia、香港cn2+cmi,目前推行的vps服务器均为精心挑选的优质线路机房,A400互联推出了夏季优惠洛杉矶5折、香港7折促销活动,质量可靠,价格实惠!二:优惠码洛杉矶五折优惠码:20210620香港cn2七折优惠码:0710三、优惠方...

dns错误怎么解决为你推荐
google地球打不开google地球无法打开怎么办可以发外链的论坛有直接能带链接的论坛?邮箱怎么写正确的邮箱地址怎么写雅虎社区福建晋江社区是什么?公章制作制作公章尺寸标准大小,字体,字号?怎么点亮qq空间图标怎样点亮qq空间的图标bt封杀为什么现在网上许多BT下载都被封了?分词技术怎样做好百度分词技术和长尾词优化三星s8什么时候上市三星s8什么时候首发如何清理ie缓存怎么清理IE的缓存
域名城 腾讯云盘 服务器cpu性能排行 免费个人博客 河南服务器 坐公交投2700元 卡巴斯基试用版 1美金 metalink 中国电信宽带测速器 in域名 lick 国外在线代理服务器 帽子云排名 德隆中文网 免费asp空间申请 服务器防火墙 好看的空间 脚本大全 accountsuspended 更多