java基礎--->檔案--->檔案存放路徑:絕對路徑和相對路徑

來源:互聯網
上載者:User

標籤:ace   程式碼   資料檔案   generate   不同   clip   資料   列表   canonical   

內容概述:

  在實際的工程中,有時會需要儲存一些檔案,如存放一些圖片、資料檔案等,存放這些檔案時考慮將這些檔案存放在哪裡。

  通常有兩種方法來擷取檔案存放路徑:

    方法一,擷取系統有效盤符  如D:/,然後進行路徑擴充,將擴充後的路徑作為存放這些檔案的根路徑。這種方法有一個缺點,那就是在不同的作業系統中進行程式遷移時,會很麻煩;

    方法二,擷取當前檔案夾(即程式工程目錄)如d:/projectName,然後進行路徑擴充,將擴充後的路徑作為存放這些檔案的根路徑。最終存放程式檔案的目錄和程式碼目錄在同一個檔案夾下。這種方法是更為常用的方法,使用這種方法編寫的程式更易於在不同作業系統中遷移,也方便與程式的管理,如程式卸載時,刪除整個程式檔案夾可以保證程式資料也被清理掉,而使用“方法一”編寫的程式則不能保證將程式資料檔案刪除掉,需要使用者手動尋找到該程式的資料檔案的存放路徑,然後手動刪除。

  下面的代碼舉例說明了上述兩種方法的java編程實現:

/** * @author lxrm * @date 20161115 * @description 不同電腦的系統硬碟符是不相同的,有的電腦有“C:” "D:" "E:" "F:" *                 但是有些電腦只有C盤和D盤,還有Linux系統中系統硬碟符是/home等 *                 本程式舉例說明如何擷取本機電腦中的有效盤符 * */package file_operation;import java.io.File;import java.io.IOException;public class Example8_getEffectiveDisks {    public static void main(String[] args){/*一、擷取本機有效盤符,C: D: E: ... *   這是擷取絕對可用路徑的方法(不常用),一般使用“二”中所描述的擷取相對路徑的方法來存放想要存放的資料、檔案.. */        File[] roots=File.listRoots();        System.out.println("本機電腦的有效盤符有:");        for(int i=0;i<roots.length;i++){            System.out.println(roots[i].getAbsolutePath());        }                String rootPath=roots[1].getAbsolutePath();//選定上述列表中最後一個磁碟作為下面所要使用的根目錄        String path=rootPath+"/LeapMotionData/FrameData";//Frame對象資料的存放目錄        System.out.println("LeapMotion採樣所得資料將會被放置在以下目錄中:\n"+path);        File dir=new File(path);        if(!dir.exists()){            dir.mkdirs();        }        System.out.println(dir.getAbsolutePath()+"是否存在:"+dir.exists());/*二、擷取當前檔案夾*   這是擷取相對路徑的方法(常用),便於程式在不同的電腦OS中遷移*   獲得當前工程所在檔案夾,如本例中是D:\workspaceOfJavaEclipse\javaTest*/        File root2=new File(".");//獲得當前檔案夾(即工程目錄),結果D:\workspaceOfJavaEclipse\javaTest        //File root2=new File("..");//獲得當前檔案夾的父資料夾,結果D:\workspaceOfJavaEclipse        try {            String rootDir2=root2.getCanonicalPath();            System.out.println("當前工程所在檔案夾:"+rootDir2);        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }            }//end main}

 

java基礎--->檔案--->檔案存放路徑:絕對路徑和相對路徑

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.