Java 获取文件路径的方法汇集

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();
    }
}

 

posted @ 2015-04-08 09:54  √珞珈搬砖工√  阅读(82)  评论(0)    收藏  举报