java 獲取當前文件.class 的相對或絕對路徑

package com.xudaolong.Utils;


import java.io.File;

/**
 * Created by xudaolong on 16/7/12.
 */
public class Path {

    private static final String TAG = "Path";

    /**
     * 創(chuàng)建不存在的目錄
     * @param c
     * @param dir
     * @return
     */
    public File rebuildDir(Class c,File dir){

        for (String s : c.getName().split("\\.")) {
            dir = new File(dir, s);
            if (dir.isDirectory() == false)
                dir.mkdirs();
        }

        return dir;
    }

    /**
     * 返回指定的路徑為 resources
     *
     * @param c
     * @return
     */
    public String getDataDir(Class c) {

        //獲取當前的路徑
        File dir = new File(System.getProperty("user.dir"));

        //目錄resolve
        dir = new File(dir, "resources");
        dir = this.rebuildDir(c, dir);

        System.out.println(TAG + "::Using data directory::" + dir.toString());
        return dir.toString() + File.separator;

    }

    /**
     * 返回指定相對路徑,相對的是user.dir
     * @param c
     * @param desc
     * @return
     */
    public String getDataDir(Class c, String desc) {

        //獲取當前的路徑
        File dir = new File(System.getProperty("user.dir"));

        //目錄resolve
        dir = new File(dir, desc);
        dir = this.rebuildDir(c, dir);

        System.out.println(TAG + "::Using data directory::" + dir.toString());

        return dir.toString() + File.separator;
    }


}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容