黑马程序员技术交流社区
标题:
文件锁的见解
[打印本页]
作者:
公子-醉香
时间:
2013-12-15 13:37
标题:
文件锁的见解
import java.io.RandomAccessFile;
import java.nio.channels.FileChannel;
import java.nio.channels.FileLock;
public class FileSlock {
public static void main(String[] args) {
// TODO Auto-generated method stub
int b;
byte tom[]=new byte[12];
try{
RandomAccessFile input=new RandomAccessFile("FileSlock.java","rw");
FileChannel channel=input.getChannel();
while((b=input.read(tom,0,10))!=-1){
FileLock lock=channel.tryLock();
String s=new String(tom,0,b);
System.out.println(s);
try{
Thread.sleep(1000);
lock.release();
}catch(Exception eee){
System.out.println(eee);
}
}
input.close();
}catch(Exception ee){
System.out.println(ee);
}
}
}
/*
代码分析:
1.使用RandomAccessFile建立指向文件的流对象,该对象的读写属性必须是”rw“,如RandomAccessFile input=new RandomAccessFile("FileSlock.java","rw");
2.流对象input调用方法getChannel()获得一个连接到底层文件的FileChannel对象(信道),如FileChannel channel=input.getChannel();
3.信道调用tryLock()或lock()方法,获得一个FileLock(文件锁)对象,这一过程就叫做对文件加锁。如FileLock lock=channel.tryLock();
文件锁对象产生后,讲禁止任何程序对文件进行操作,或再进行加锁。对一个文件加锁后,如果想读、写文件必须让FileLock对象调用realise()释放文件锁如
lock.release();
*/
复制代码
作者:
taxue0504
时间:
2013-12-15 14:14
基础部分 ....{:soso_e129:}
作者:
公子-醉香
时间:
2013-12-15 14:49
taxue0504 发表于 2013-12-15 14:14
基础部分 ....
我刚刚学,是菜鸟,可不要笑话我!
作者:
taxue0504
时间:
2013-12-15 15:13
公子-醉香 发表于 2013-12-15 14:49
我刚刚学,是菜鸟,可不要笑话我!
羡慕 你的技术分 能告诉我怎么加技术分么
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2