站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题锁文件的例子

锁文件的例子

摘要: 锁文件的例子

</td> </tr> <tr> <td height="35" valign="top" class="ArticleTeitle"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="282" height="86" align="center" valign="top"> </td> <td width="402" valign="top">import java.nio.channels.*;

/**
* 锁住文件(不让其它线程或进程修改)
*
* @author kingfish
*/

public class LockFile{
public LockFile(){
}

public static void main(String[] args) throws Exception {

</td> </tr> </table>


        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!");

            //测试线程

            new   Thread()   {

                public void run(){

                    while(true){

                        try{

                            Thread.sleep(100);

                            FileReader fr=new FileReader(new File("c:\\test.txt"));

                            int   c;

                            while((c=fr.read())!= -1)   {

                                System.out.println("OK="+(char)c);

                            }

                            fr.close();

                            break;

                        }

                        catch(Exception  e){

                            System.out.println("error="+e);

                        }

                    }

                }

            }.start();

            //模拟其它操作的耗时:比如用notepad打开无法修改。但是用程序来读写此文件都会异常

            raf.write("kingfish(八百里秦川@龙城异客)".getBytes());

            Thread.sleep(5000);

            fl.release();

            System.out.println("release the lock!");

        }

        raf.close();

    }

}


程序运行的结果:
C:\java>java LockFile
get the lock!
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
errorjava.io.IOException: 另一个程序已锁定文件的一部分,进程无法访问。
release the lock!
OK=k
OK=i
OK=n
OK=g
OK=f
OK=i
OK=s
OK=h
OK=(
OK=八
OK=百
OK=里
OK=秦
OK=川
OK=@
OK=龙
OK=城
OK=异
OK=客
OK=)

C:\java>

</td> </tr> <tr>


↑返回目录
前一篇: java"克隆"入门
后一篇: java IO系统与正则表达式