java遇到的问题收集
本文持续更新,记录java使用中遇到的问题
?
1.java中new File()的路径问题?
//System.setProperty("user.dir","d:/"); File file = new File("a.txt"); System.out.println("path="+file.getAbsolutePath()); file.createNewFile();?以上代码中,a.txt生成的位置是:java命令执行的当前路径+a.txt,设置user.dir属性后,file.getAbsolutePath()的路径会变成设置的d:/a.txt,但new出来的file的路径还会是java命令执行的当前路径+a.txt。
在一些容器,比如jboss等中,这个相对路径就是启动的一系列脚本中最后一个cd所到的位置+相对路径。
?
2.ClassNotFoundException和NoClassDefFoundError如果加载一个类,找不到,就是ClassNotFoundException,如果加载这个类的过程中引用的其他类找不到,就是NoClassDefFoundError,如
?
public class A { B b = new B(); public static void main(String[] args) { new A(); }}?
?
删除B.class,得到结果
?
Exception in thread "main" java.lang.NoClassDefFoundError: B at A.<init>(A.java:17) at A.main(A.java:24)Caused by: java.lang.ClassNotFoundException: B at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
?
3.classloader加载资源时,目录注意要最后有“/”,比如d:/test/, ?如果时d:/test,里面的文件就加载不到。