package home; import java.io.File; import java.io.RandomAccessFile; import java.net.UnknownHostException; import java.nio.channels.FileChannel; import java.nio.channels.FileLock; import publicclass.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; } } }