import java.io.File;
import java.net.URL;
import java.net.URLDecoder;
import java.util.ArrayList;
public class JavaPath1 {
public void getPath() throws Exception {
ArrayList<String> list = new ArrayList<String>();
list.add(System.getProperty("user.dir"));
list.add(new File("").getAbsolutePath());
/**
* JavaPath1.class.getClass().getResource("")
* 默认在getResource(name)中传递的name为java.lang.Class
*/
//list.add(JavaPath1.class.getClass().getResource("").getPath());
// list.add(JavaPath1.class.getClass().getResource(".").getPath());
list.add(JavaPath1.class.getClass().getResource("/").getPath());
/**
* this.class.getClass().getResource("")
* 默认在getResource(name)中传递的name为edu.whu.test.JavaPath1
*/
list.add(this.getClass().getResource("").getPath());
list.add(this.getClass().getResource(".").getPath());
list.add(this.getClass().getResource("/").getPath());
list.add(this.getClass().getClassLoader().getResource("") .getPath());
list.add(this.getClass().getClassLoader().getResource(".") .getPath());
//list.add(this.getClass().getClassLoader().getResource("/").getPath());
//list.add(FilePath.class.getClass().getClassLoader().getResource("").getPath());
//list.add(FilePath.class.getClass().getClassLoader().getResource(".").getPath());
//list.add(FilePath.class.getClass().getClassLoader().getResource("/").getPath());
list.add(Thread.currentThread().getContextClassLoader().getResource("").getPath());
list.add(Thread.currentThread().getContextClassLoader() .getResource(".").getPath());
//list.add(Thread.currentThread().getContextClassLoader().getResource("/").getPath());
list.add(ClassLoader.getSystemResource("").getPath());
URL url = Thread.currentThread().getContextClassLoader().getResource(".");
list.add(URLDecoder.decode(url.getPath()));
list.add(url.toURI().getPath());
for(int i=0;i<list.size();i++){
//System.out.println(list.get(i));
}
System.out.println(this.getClass().getCanonicalName());
System.out.println(JavaPath1.class.getClass().getCanonicalName());
System.out.println(this.getClass().getClassLoader().getClass().getCanonicalName());
System.out.println(JavaPath1.class.getClass().getClassLoader());
System.out.println(Thread.currentThread().getContextClassLoader().getClass().getCanonicalName());
}
public static void main(String[] args) throws Exception {
new JavaPath1().getPath();
}
}