<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

    導航

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章檔案

    搜索

    •  

    積分與排名

    • 積分 - 10252
    • 排名 - 2373

    最新評論

    閱讀排行榜

    評論排行榜

     

    轉自開發者的天空

    刪除操作

    通過Path類,我們可以刪除文件、目錄或符號鏈接。要注意的是當我們刪除符號鏈接時,其指向的目的目錄或文件不會被刪除。當要刪除一個目錄時,該目錄必須為空,否則會失敗。

    Path類提供了兩個刪除方法。第一個是delete方法。Delete方法會直接刪除文件或目錄,如果刪除失敗則會拋出異常。例如如果要刪除的文件不存在,則會拋出NoSuchFileException。程序員可以catch這些異常并進行相應的處理。

    try {
        path.delete();
    catch (NoSuchFileException x) {
        System.err.format(
    "%s: no such file or directory%n", path);
    catch (DirectoryNotEmptyException x) {
        System.err.format(
    "%s not empty%n", path);
    catch (IOException x) {
        //File permission problems are caught here.
        System.err.println(x);
    }


    另外一個方法是deleteIfExists。這個方法同樣會刪除文件或目錄,和delete方法唯一不同的是如果文件不存在,這個方法不會拋出異常。


    拷貝操作

    Path類提供了拷貝文件或目錄的方法,就是copyTo方法。(以前要copy文件只能夠自己寫程序完成哦!)。在進行拷貝的時候,我們可以指定如果目標文件或目錄已經存在時怎么處理;如果設置了REPLACE_EXISTING,則會覆蓋已有的文件或目錄;如果沒有設置 REPLACE_EXISTING,那么拷貝操作會失敗。

    要注意的是拷貝目錄時,目錄中的內容并沒有被拷貝過去,新生成的目錄會是一個空目錄。要想將目錄中的內容一起拷貝過去,只有自己編程了。

    在拷貝符號鏈接時,默認的行為是拷貝符號鏈接指向的目的文件或目錄。如果需要拷貝符號鏈接本身,需要指定NOFOLLOW_LINKS REPLACE_EXISTING選項。

    CopyTo方法接受CopyOption類型的varargsCopyOption是一個接口,目前有兩個實現類:StandardCopyOptionLinkOptionCopyTo方法能夠支持的選項有:

    * REPLACE_EXISTING – 當要拷貝的是文件是,如果目標文件已經存在,則覆蓋目標文件。如果要拷貝的是目錄,當目標目錄已經存在時,如果目標目錄為空,覆蓋目標目錄;如果目標目錄不為空,拋出FileAlreadyExistsException。如果要拷貝的是符號鏈接,那么拷貝符號鏈接本身。

    * COPY_ATTRIBUTES – 連文件或目錄的屬性一起拷貝。不同的文件系統和平臺支持不同的文件屬性,但是所有的文件系統和平臺都支持最后修改時間這個屬性。

    * NOFOLLOW_LINKS – 如果要拷貝的是符號鏈接,直接拷貝符號鏈接本身。

    下面是使用copyTo的代碼例子:

    import static java.nio.file.StandardCopyOption.*;

    try {
        path.copyTo(newPath, REPLACE_EXISTING,     COPY_ATTRIBUTES);
    catch (IOException x) {
        
    //Logic for error condition
        System.err.println(x);
        
    return;
    }


    移動操作

    Path還提供了moveTo方法來移動文件或目錄。如果沒有設置REPLACE_EXISTING選項,那么當目標文件或目錄存在時,操作會失敗。

    空目錄能夠被移動,但是如果目錄不為空,是否能夠移動目錄要取決于是否能夠不移動目錄的內容。例如在Windows系統下,如果是同一個硬盤分區內的移動,就可以成功,但是如果是不同硬盤分區之間的移動,就會失敗,會拋出FileSystemException異常。同時要注意的是,目的目錄的父目錄一定要存在,否則會拋出NoSuchFileException。例如將c:"temp"test移動到c:"save"test,如果c:"save目錄不存在,則會拋出異常。

    MoveTo方法也接受可變數量的參數,其支持的選項有:

    REPLACE_EXISTING – 覆蓋已經存在的文件或目錄。如果目標文件/目錄是一個符號鏈接,那么該鏈接會被覆蓋,但是起指向的文件或目錄不會受到影響。 * ATOMIC_MOVE – 移動操作是一個原子操作。如果文件系統不支持移動的原子操作,會拋出異常。原子操作能夠保證當你移動一個文件到一個目錄中時,監視該目錄的進程得到的是一個完整的文件。

    下面是使用moveTo方法的例子

    import static java.nio.file.StandardCopyOption.*;

    try {
        path.moveTo(newPath, REPLACE_EXISTING);
    catch (IOException x) {
        
    // Logic for error condition
        System.err.println(x);
        
    return;
    }


    posted on 2010-03-30 10:32 afrag 閱讀(430) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
     
    Copyright © afrag Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 大地资源中文在线观看免费版| 久久久久久AV无码免费网站| 国产成人高清亚洲一区久久| 一级做a爰片久久毛片免费陪 | 日韩高清在线免费看| 亚洲人成伊人成综合网久久久 | 亚洲色大成网站www永久一区| 色屁屁www影院免费观看视频| 99久久久国产精品免费牛牛四川| 在线观看国产情趣免费视频| 亚洲av乱码中文一区二区三区| 久久精品电影免费动漫| 亚洲第一页日韩专区| 亚洲中文字幕日本无线码| WWW免费视频在线观看播放| 永久黄网站色视频免费直播| 久久精品国产亚洲AV无码娇色 | 国产亚洲精品VA片在线播放| 久久久久国产免费| 在线观看亚洲一区二区| a在线视频免费观看| 久久亚洲AV成人无码| 久久久久久国产a免费观看黄色大片 | 亚洲av无码一区二区三区不卡 | 免费国产成人午夜私人影视 | 亚洲国产精品无码久久SM| 黄网站色视频免费看无下截| 亚洲精品高清一二区久久| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 久久精品国产亚洲AV电影网| 亚洲精品成人a在线观看| 男人进去女人爽免费视频国产| 亚洲精品无码久久久久久久 | 亚洲人成免费电影| 亚洲成人在线电影| 18禁超污无遮挡无码免费网站| 亚洲日本va午夜中文字幕一区| a级毛片毛片免费观看久潮喷| 国产亚洲老熟女视频| 一级黄色免费大片| 久久久久亚洲精品男人的天堂 |