java获得classess编译文件中的文件路径

1:直接根据当前类获得最长路径截取
String classpath = this.getClass().getResource("").getPath();
classpath = classpath.substring(0, classpath.indexOf("/WEB-INF/classes")+16);
log.debug("classpath: "+ classpath);
File inputXml = new File(classpath + "/xx.xml");


2:直接根据当前类的获得classes文件获取类加载器,获取文件路径
String classpath = this.getClass().getClassLoader().getResource("xx.xml").getPath();
File inputXml = new File(classpath);

 3:直接获取来加载器获得路径

String classpath = Thread.currentThread().getContextClassLoader()
      .getResource("xx.xml").getPath();
System.out.println(classpath);

你可能感兴趣的:(java)