package Method;
|
import java.io.File;
|
import java.io.RandomAccessFile;
|
import java.net.UnknownHostException;
|
import java.nio.channels.FileChannel;
|
import java.nio.channels.FileLock;
|
|
import PbuliClass.ShowMessage;
|
|
/**
|
* FileLockManager ÎļþËø¹ÜÀí
|
*
|
*/
|
public class FileLockManager {
|
@SuppressWarnings("resource")
|
public static boolean isUsing(int singleId) throws UnknownHostException{
|
try {
|
RandomAccessFile raf = null;
|
FileChannel channel = null;
|
FileLock lock = null;
|
|
// ÔÚÁÙʱÎļþ¼Ð´´½¨Ò»¸öÁÙʱÎļþ£¬Ëø×¡Õâ¸öÎļþÓÃÀ´±£Ö¤Ó¦ÓóÌÐòÖ»ÓÐÒ»¸öʵÀý±»´´½¨.
|
File sf = new File(System.getProperty("java.io.tmpdir") + singleId + ".single");
|
sf.deleteOnExit();
|
sf.createNewFile();
|
|
raf = new RandomAccessFile(sf, "rw");
|
channel = raf.getChannel();
|
lock = channel.tryLock();
|
|
if (lock == null) {
|
// Èç¹ûûÓеõ½Ëø£¬Ôò³ÌÐòÍ˳ö.
|
// ûÓбØÒªÊÖ¶¯ÊÍ·ÅËøºÍ¹Ø±ÕÁ÷£¬µ±³ÌÐòÍ˳öʱ£¬ËûÃǻᱻ¹Ø±ÕµÄ.
|
return false;
|
}
|
return true;
|
} catch (Exception e) {
|
ShowMessage.zidingyi("ÎļþËøÒì³££¡");
|
return false;
|
}
|
}
|
|
}
|