需求:
A进程读取文件file.txt,对其有读写权限,此时文件file.txt被A进程占用;
再A进程操作文件file.txt的同时,B进程也读取file.txt,但是只有只读权限,不能对文件进行修改。
我使用java.nio.channels.FileLock,只能A进程独占file.txt,B进程不能读取file.txt。像完成上述功能怎么实现
A进程读取文件file.txt,对其有读写权限,此时文件file.txt被A进程占用;
再A进程操作文件file.txt的同时,B进程也读取file.txt,但是只有只读权限,不能对文件进行修改。
我使用java.nio.channels.FileLock,只能A进程独占file.txt,B进程不能读取file.txt。像完成上述功能怎么实现
FileLock lock=null;
public boolean isRunning(){
try
{
File flagFile=new File("被锁的目标文件");
if(!flagFile.exists())flagFile.createNewFile();
lock=new FileOutputStream(ConfigAll.openfile).getChannel().tryLock();
if(lock==null)return false;
}catch(Exception ex){ex.printStackTrace();}
return true;
}在对文件进行操作前执行以上方法,如果文件未上锁则可以对其操作,如果已经上锁说明已经被占不能操作~