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

美国G口/香港CTG/美国T级超防云/物理机/CDN大促销 1核 1G 24元/月

[六一云迎国庆]转盘活动实物礼品美国G口/香港CTG/美国T级超防云/物理机/CDN大促销六一云 成立于2018年,归属于西安六一网络科技有限公司,是一家国内正规持有IDC ISP CDN IRCS电信经营许可证书的老牌商家。大陆持证公司受大陆各部门监管不好用支持退款退现,再也不怕被割韭菜了!主要业务有:国内高防云,美国高防云,美国cera大带宽,香港CTG,香港沙田CN2,海外站群服务,物理机,...

paypal$10的代金券,选购美国VPS

paypal贝宝可撸$10的代金券!这两天paypal出了活动,本次并没有其他的限制,只要注册国区的paypal,使用国内的手机号和62开头的银联卡,就可以获得10美元的代金券,这个代金券购买产品需要大于10.1美元,站长给大家推荐几个方式,可以白嫖一年的VPS,有需要的朋友可以看看比较简单。PayPal送10美元活动:点击直达活动sfz与绑定卡的号码可以重复用 注册的邮箱,手机号与绑的银联卡必须...

日本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...

dns错误怎么解决为你推荐
免费制作qq空间怎么免费设计QQ空间快速美白好方法有什么变白的好方法怎么在qq空间里添加背景音乐怎么在QQ空间里插入背景音乐??bluestacks安卓模拟器BlueStacks如何安装使用?手机区号打电话怎么加区号?iphone越狱后怎么恢复苹果越狱后如何恢复腾讯文章腾讯新闻的精选微信里面收藏的文章在哪里雅虎天盾有没有用用雅虎天盾的啊?免费免费建站电脑上有真正免费的网站吗??iphone6上市时间苹果6什么时候出?
虚拟主机控制面板 免费域名注册网站 域名备案批量查询 如何查询域名备案号 namecheap 好看的桌面背景大图 debian源 华为4核 anylink paypal注册教程 跟踪路由命令 上海电信测速网站 下载速度测试 全能空间 个人免费邮箱 lamp什么意思 godaddy空间 创速 免费主页空间 上海联通 更多