java路径问题-getClass().getResourceAsStream()

src(源文件夹)

┣━11.properties

┗━myspider(myspider包)

┣━22.properties
┗━Test.java
 

Java代码  收藏代码
  1. package myspider;
  2. import java.io.UnsupportedEncodingException;
  3. /**
  4.  *
  5.  * @author mark
  6.  */
  7. public class Test {
  8.     public static void main(String[] args) throws UnsupportedEncodingException{
  9.         Test t=new Test();
  10.         //文件名前不加“/”,则表示从当前类所在的包下查找该资源。如下则表示的是从包myspider下查找22.properties文件资源。
  11.         System.out.println(“1:”+t.getClass().getResourceAsStream(“22.properties”));//输出java.io.BufferedInputStream@61de33
  12.         //文件名前加了“/”,则表示从类路径下也就是从classes文件夹下查找资源,如下表示从classes文件夹下查找22.properties文件资源。
  13.         System.out.println(“2:”+t.getClass().getResourceAsStream(“/22.properties”));//输出null
  14.         //文件名前加了“/”,则表示从类路径下也就是从classes文件夹下查找资源,如下表示从classes文件夹下查找11.properties文件资源。
  15.         System.out.println(“3:”+t.getClass().getResourceAsStream(“/11.properties”));//输出java.io.BufferedInputStream@14318bb
  16.         System.out.println();
  17.         //当前包路径4:file:/E:/myobject/myspider/build/classes/myspider/
  18.         System.out.println(“4:”+t.getClass().getResource(“”));
  19.         //输出当前类路径5:file:/E:/myobject/myspider/build/classes/
  20.         System.out.println(“5:”+t.getClass().getResource(“/”));
  21.         /*
  22.          * 如果类路径下的当前包有22.properties文件,则输出6:file:/E:/myobject/myspider/build/classes/myspider/22.properties
  23.          * 否者输出源文件下的22.properties文件的路径,则输出:6:file:/E:/myobject/myspider/src/myspider/22.properties
  24.          */
  25.         System.out.println(“6:”+t.getClass().getResource(“22.properties”));
  26.         /*
  27.          * 如果类路径下有11.properties文件,则输出7:file:/E:/myobject/myspider/build/classes/11.properties
  28.          * 否者输出源文件下的11.properties文件的路径,则输出:6:7:file:/E:/myobject/myspider/src/11.properties
  29.          */
  30.         System.out.println(“7:”+t.getClass().getResource(“/11.properties”));
  31.     }
  32. }