获取classpath 路径:spa
String path=Thread.currentThread().getContextClassLoader().getResource("").getPath();get
//获取的路径会多一个/,( /E:rep )
path = path.substring(1);input
getResourceAsStream ()返回的是inputstreamstring
getResource()返回:URLclass
Class.getResource("") 返回的是当前Class这个类所在包开始的为置test
Class.getResource("/") 返回的是classpath的位置stream
getClassLoader().getResource("") 返回的是classpath的位置file
getClassLoader().getResource("/") 错误的!!di
System.out.println(Thread.currentThread().getContextClassLoader().getResource("")); System.out.println(FileTest.class.getClassLoader().getResource("")); System.out.println(ClassLoader.getSystemResource("")); System.out.println(FileTest.class.getResource("")); System.out.println(FileTest.class.getResource("/")); // Class文件所在路径 System.out.println(new File("/").getAbsolutePath()); System.out.println(System.getProperty("user.dir"));
输出结果:文件
file:/E:/workspace/JavaStudy/bin/ file:/E:/workspace/JavaStudy/bin/ file:/E:/workspace/JavaStudy/bin/ file:/E:/workspace/JavaStudy/bin/test/ file:/E:/workspace/JavaStudy/bin/ E:\ E:\workspace\JavaStudy