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; } } }