A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 公子-醉香 中级黑马   /  2013-12-15 13:37  /  897 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.io.RandomAccessFile;
  2. import java.nio.channels.FileChannel;
  3. import java.nio.channels.FileLock;

  4. public class FileSlock {
  5.         public static void main(String[] args) {
  6.                 // TODO Auto-generated method stub
  7.                 int b;
  8.                 byte tom[]=new byte[12];
  9.                 try{
  10.                         RandomAccessFile input=new RandomAccessFile("FileSlock.java","rw");
  11.                         FileChannel channel=input.getChannel();
  12.                         while((b=input.read(tom,0,10))!=-1){
  13.                                 FileLock lock=channel.tryLock();
  14.                                 String s=new String(tom,0,b);
  15.                                 System.out.println(s);
  16.                                 try{
  17.                                         Thread.sleep(1000);
  18.                                         lock.release();
  19.                                 }catch(Exception eee){
  20.                                         System.out.println(eee);
  21.                                 }
  22.                         }
  23.                         input.close();
  24.                 }catch(Exception ee){
  25.                         System.out.println(ee);
  26.                 }
  27.         }

  28. }
  29. /*
  30. 代码分析:
  31.         1.使用RandomAccessFile建立指向文件的流对象,该对象的读写属性必须是”rw“,如RandomAccessFile input=new RandomAccessFile("FileSlock.java","rw");
  32.         2.流对象input调用方法getChannel()获得一个连接到底层文件的FileChannel对象(信道),如FileChannel channel=input.getChannel();
  33.         3.信道调用tryLock()或lock()方法,获得一个FileLock(文件锁)对象,这一过程就叫做对文件加锁。如FileLock lock=channel.tryLock();
  34.         文件锁对象产生后,讲禁止任何程序对文件进行操作,或再进行加锁。对一个文件加锁后,如果想读、写文件必须让FileLock对象调用realise()释放文件锁如
  35.         lock.release();
  36. */
复制代码


评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

3 个回复

倒序浏览
基础部分 ....{:soso_e129:}
回复 使用道具 举报

我刚刚学,是菜鸟,可不要笑话我!
回复 使用道具 举报
公子-醉香 发表于 2013-12-15 14:49
我刚刚学,是菜鸟,可不要笑话我!

羡慕 你的技术分  能告诉我怎么加技术分么
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马