<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    afrag  
    記錄學習和成長的歷程
    日歷
    <2010年3月>
    28123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910
    統計
    • 隨筆 - 9
    • 文章 - 5
    • 評論 - 2
    • 引用 - 0

    導航

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章檔案

    搜索

    •  

    積分與排名

    • 積分 - 10138
    • 排名 - 2383

    最新評論

    閱讀排行榜

    評論排行榜

     
    轉載自開發者的天空
    1. Path的概念

    文件系統會把文件進行組織并存放在媒介上,通常是一個或多個硬盤上。目前使用的大多數的文件系統是以樹形的方式來存儲文件的。在樹的頂端是一個(或多個) 根節點,在根節點之下是文件和目錄,目錄下又可以包含文件和目錄。理論上可以這樣一層層的一直嵌套下去(當然實際中是不可能的,例如Windows系統對 路徑的長度有限制)。
    下面的圖中展示了一個包含一個根節點的目錄樹。(在Windows系統中支持多個根節點,例如C:\和D:\分別是一個根節點。)
    io-dirStructure.JPG
    Path能夠唯一的標識文件系統中的某一個文件。例如上面圖中的statusReport文件在Windows系統中就可以使用以下的Path來標識:
    c:\home\sally\statusReport
    在solaris系統中,其path為
    /home/sally/statusReport.
    Path中的分隔符在不同的文件系統中是不同的,例如在Windows系統中使用\,在Solaris系統中使用/。
    Path又可以分為絕對路徑和相對路徑。絕對路徑總是含有根節點和用來定位文件的完整的目錄列表。例如/home/sally/statusReport 就是絕對路徑。相對路徑需要和另外的路徑結合在一起才能夠確定一個文件。例如加哦加哦哦joe/foo就是一個相對路徑,如果沒有其他的信息,程序就沒有 辦法定位這個文件。我們必須說這個是相對/home的相對路徑,這樣我們才能夠找到它。
    除了我們熟悉的目錄和文件之外,有一些文件系統中還支持符號鏈接(symbolic link),也稱為symlink或soft link。一個符號鏈接是一個特殊的文件,它實際上是另外一個鏈接的引用。在大多數情況下符號鏈接對應用程序是透明的,對符號鏈接的操作會自動的重定向到 鏈接所指向的目的地,除非操作是刪除這個符號鏈接、重命名這個符號鏈接或修改符號鏈接的目的地。
    在下面的圖中,logFile對于用戶來說就是一個常規的文件,但是實際上是一個符號鏈接,鏈接到dir/logs/HomeLogFile文件。 HomeLogFile是這個鏈接的目的地。
    io-symlink.jpg
    不恰當的使用符號鏈接會導致循環引用,例如目錄A是一個符號鏈接,指向目錄B,目錄B下有一個子目錄是符號鏈接,指向目錄A的父目錄。這樣,當程序企圖遞 歸的遍歷整個目錄樹時,就會出問題。幸運的是,這個問題已經被發現了,并且不會導致程序的死循環。


    2.Path類
    Path類是JDK7新引入的一個類,該類是java.io.file包的基石。
    和類的名稱所展示的一樣,Path類就是文件系統中path概念的程序表現。Path對象包含了文件名和目錄列表,這些信息可以用來創建path,并且用 來檢驗、定位和操作文件。
    Path實例是和底層操作系統相關的。在Solaris系統中,Path使用Solaris的句法(/home/joe/foo);在Window操作系 統中,Path會使用Window的句法(C:\home\joe\foo)。因此Path不是操作系統無關的。你不能夠比較一個來自Solaris文件 系統的Path和一個來自Windows文件系統的Path并期望它們相等,在目錄結構和文件完全一樣的時候也不行。
    Path對應的文件或者目錄可以不存在。我們可以以不同的方式創建Path實例并操作它:擴展路徑、抽取路徑的一部分、和其他的Path比較。我們也可以 檢查Path對應的目錄或文件是否存在、創建文件或目錄、打開或刪除文件、修改許可權限等。
    Path類是能夠區分符號鏈接的。所有的Path的方法要么會檢測是否是符號鏈接并執行不同的操作,或者提供了一個選擇來使用戶能夠配置當遇到符號鏈接的 時候執行什么操作。
    Path類提供了很多易于使用的特性,Path類的方法可以分成兩類:

    • 路徑操作—返回路徑的一部分如根節點、名稱、父目錄的方法或者其他操作路徑的方法。
    • 文件操作—創建文件、打開文件、創建目錄、刪除文件、 拷貝文件等操作的方法。
    在下一篇文章中,我們會具體介紹Path類的這些方法。
    posted on 2010-03-25 23:34 afrag 閱讀(250) 評論(0)  編輯  收藏 所屬分類: Java 技術
     
    Copyright © afrag Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 国产色在线|亚洲| 2019中文字幕免费电影在线播放| 亚洲高清日韩精品第一区| 免费大香伊蕉在人线国产| 1a级毛片免费观看| 99在线免费观看| 黄页网站在线观看免费| AAAAA级少妇高潮大片免费看| 亚洲a视频在线观看| 久久久久亚洲精品天堂| 中国亚洲女人69内射少妇| 免费萌白酱国产一区二区| 青春禁区视频在线观看直播免费| 99久久国产免费中文无字幕| 岛国岛国免费V片在线观看| 四虎影视在线看免费观看| 精品国产亚洲AV麻豆| 亚洲入口无毒网址你懂的| 亚洲男人的天堂在线| 亚洲色图在线播放| 亚洲成AV人片在线播放无码| 2015日韩永久免费视频播放| 午夜免费福利小电影| 成人网站免费看黄A站视频| 中文字幕乱码系列免费| 一级做a爱过程免费视频高清| 美女又黄又免费的视频| 美女裸免费观看网站| 日韩亚洲人成网站| 国产大陆亚洲精品国产| 色九月亚洲综合网| 日本精品久久久久久久久免费 | 免费播放一区二区三区| 久久精品国产大片免费观看| 久久久久国产精品免费网站| 四虎影视在线影院在线观看免费视频| 免费91最新地址永久入口| 免费一区二区三区| 色猫咪免费人成网站在线观看| 久久综合国产乱子伦精品免费| 99视频精品全部免费观看|