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

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

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

    File的加鎖

    有時候,我們需要以獨占的方式訪問某個文件,因此,需要在打開文件時,對文件上鎖,以防其他人或進程也訪問該文件。Java本身提供了倆種鎖文件的方式:
    方式一:用RandomAccessFile類操作文件
    RandomAccessFile的open方法,提供了參數,實現以獨占的方式打開文件:
    new RandomAccessFile(file, "rws")
    其中的“rws”參數中,rw代表讀寫方式,s代表同步方式,也就是鎖。這種方式打開的文件,就是獨占方式。

    方式二:用文件通道(FileChannel)的鎖功能

    如:

    RandomAccessFile raf = new RandomAccessFile(new File("c:\\test.txt"), "rw");

    FileChannel fc = raf.getChannel();
    FileLock fl = fc.tryLock();

    if (fl.isValid()) {
    System.out.println("get the lock!");

    但這倆種方式,都只能通過RandomAccessFile訪問文件,如果只能通過InputStream來訪問文件,如用DOM分析XML文件,怎么辦呢?
    其實,FileInputStream對象,也提供了getChannel方法,只是缺省的getChannel方法,不能鎖住文件,所以,如果需要,就必須自己重寫一個getChannel方法,如:
    public FileChannel getChannel(FileInputStream fileIn, FileDescriptor fd) {
    FileChannel channel = null;
    synchronized (fileIn) {
    channel = FileChannelImpl.open(fd, true, true, fileIn);
    return channel;
    }
    }

    其實,主要是打開文件的第三個參數控制了對文件的操作模式,如果設置為false,就不能鎖住文件,缺省的getChannel方法,就是false,因此,不能鎖住文件。

    posted on 2006-05-23 08:54 扭轉乾坤 閱讀(453) 評論(0)  編輯  收藏 所屬分類: JAVA使用技巧

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    常用鏈接

    留言簿(2)

    隨筆分類(31)

    隨筆檔案(30)

    文章分類(32)

    文章檔案(33)

    相冊

    PHP小站-首頁

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 性xxxx视频播放免费| 日本免费一区二区三区四区五六区| 毛片免费全部播放一级| 永久免费AV无码网站在线观看| 亚洲男女性高爱潮网站| 日韩精品无码一区二区三区免费| 国产亚洲一区二区精品| 美女视频黄的免费视频网页| 久久亚洲国产中v天仙www| 免费的全黄一级录像带| 亚洲视频在线观看一区| 999国内精品永久免费观看| 亚洲一区无码中文字幕乱码| 亚洲成在人线在线播放无码| 中文字幕免费在线播放| 亚洲最大av无码网址| 午夜在线a亚洲v天堂网2019| 男女免费观看在线爽爽爽视频| 亚洲 暴爽 AV人人爽日日碰| 国产成人免费永久播放视频平台 | 羞羞漫画页面免费入口欢迎你| 日韩人妻一区二区三区免费| 777亚洲精品乱码久久久久久| 一个人免费观看www视频| 久久久青草青青国产亚洲免观| 色www永久免费网站| 亚洲黄色一级毛片| 国内自产少妇自拍区免费| 美女黄色毛片免费看| 国产AV无码专区亚洲A∨毛片| 精品熟女少妇a∨免费久久| 国产成人亚洲综合一区| 亚洲欧洲日产国码高潮αv| 亚洲大码熟女在线观看| 中文字幕精品亚洲无线码二区| 香蕉97碰碰视频免费| 亚洲va中文字幕无码久久| 最近免费中文字幕4| 久久国产美女免费观看精品| 337p日本欧洲亚洲大胆精品555588| 四虎在线免费播放|